User Tools

Site Tools


devel:hudson

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
devel:hudson [2024/05/13 09:50]
morten remove obsolete page
— (current)
Line 1: Line 1:
-====== Hudson ====== 
- 
-===== Instalation ===== 
- 
-  * Install deb for hudson 
-  * chmod +rx /​var/​lib/​hudson (to allow apache access) 
-  * Goto host:8080 
- 
-===== Basic setup ===== 
- 
-  * Mangage hudson 
-  * Plugins 
-  * Installed 
-  * Remove all installed plugins 
-  * Restart 
- 
-  * Mangage hudson 
-  * Plugins 
-  * Available 
-  * Check Green Balls, Setenv, and Mercurial Plugin 
-  * Install (and wait for success) 
-  * Restart 
- 
-  * Mangage hudson 
-  * Configure system 
-  * Environment variables 
- 
- DJANGO_SETTINGS_MODULE=nav.django.settings 
- PGHOST=navdevdb 
- PGUSER=navtest 
- PGPASSWORD=s3cret 
- CLASSPATH=/​usr/​share/​java/​libsnmp-1.4.jar 
- 
-  * Hudson has no security enabled by default, so be sure to enable appropriate settings for your install. 
- 
-===== Make install job ===== 
- 
-  * New Job 
-  * Name: make-install,​ Type: freestyle 
-  * SCM: mercurial repo: http://​nav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x 
-  * Build Triggers: Poll SCM schedule: * * * * * 
-  * Build: Execute shell 
- 
- ./​autogen.sh 
- ./​configure --prefix="​$WORKSPACE/​build"​ 
- make 
- make install 
- 
-  * Test build 
- 
-===== Create DB job ===== 
- 
-  * New Job 
-  * Name: createdb, Type: freestyle 
-  * SCM: mercurial repo: http://​nav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x 
-  * Build Triggers: After other: make-install 
-  * Build env: 
- 
- PGDATABASE=nav-$JOB_NAME 
- 
-  * Build: Execute shell 
- 
- ./​tests/​createdb-test.sh 
- 
-  * Test build 
- 
-===== Python tests build ===== 
- 
-  * New Job 
-  * Name: python-tests,​ Type: freestyle 
-  * SCM: mercurial repo: http://​nav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x 
-  * Build Triggers: After other: make-install 
-  * Build env: 
- 
- PGDATABASE=nav-$JOB_NAME 
- 
-  * Build: Execute shell 
- 
- ./​tests/​bootstrap-test-environment.sh "​$WORKSPACE/​build"​ 
- source "​$WORKSPACE/​build/​bin/​activate"​ 
- cd "​$WORKSPACE/​build/​lib/​python/"​ 
- nosetests --with-xunit --verbose 
- 
-  * Post build:​ Publish JUnit: <​nowiki>​**/​nosetests.xml</​nowiki>​ 
-  * Test build 
- 
-===== Crawler / validation job ===== 
- 
-  * New Job 
-  * Name: crawler-tests,​ Copy: python-tests 
-  * Build Triggers: After other: createdb 
-  * Build env: 
- 
- PGDATABASE=nav-$JOB_NAME 
- TARGETURL=https://​elixis.uninett.no/​ 
- ADMINPASSWORD=s3cret 
- 
-  * Build: Execute shell: 
- 
- ./​tests/​bootstrap-test-environment.sh "​$WORKSPACE/​build"​ 
- source "​$WORKSPACE/​build/​bin/​activate"​ 
- nosetests --with-xunit --verbose tests/​crawler-test.py 
- 
-  * Post build:​ Publish JUnit: ​ <​nowiki>​**/​nosetests.xml</​nowiki>​ 
-  * Setup apache 
-  * Test build 
- 
-===== Upgrade DB job ===== 
- 
-  * New Job 
-  * Name: upgradedb, Type: freestyle 
-  * SCM: mercurial repo: http://​nav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x 
-  * Build Triggers: After other: createdb 
-  * Build env: 
- 
- PGDATABASE=nav-$JOB_NAME 
- OTHER_URL=http://​nav.uninett.no/​hg/​series/​3.5.x/​ 
- OTHER_FOLDER=$WORKSPACE/​3.5 
- UPGRADE_FILES=3.6.*.sql trunk.sql 
- 
-  * Build: Execute shell: 
- 
- test -d $OTHER_FOLDER && rm -rf $OTHER_FOLDER || true 
- hg clone $OTHER_URL $OTHER_FOLDER 
- cd $OTHER_FOLDER 
- hg update tip 
- ../​tests/​createdb-test.sh 
- cd - 
- cd doc/​sql/​upgrades 
- for file in `eval echo $UPGRADE_FILES`;​ do 
-     out=`mktemp` 
-     psql -f $file 2>&1 | tee $out 
-     retval=`grep ERROR $out | wc -l` 
-     rm $out 
-     test $retval -eq 0 
- done 
- 
-  * Test build 
- 
-===== Notification setup ===== 
- 
-  * Manage Hudson 
-  * Manage Plugins 
-  * Available 
-  * Select Hudson IRC Plugin, Hudson instant-messaging plugin 
-  * Restart 
- 
-  * Manage Hudson 
-  * Configure system 
-  * Enable IRC Notfication 
- 
- Hostname: chat.eu.freenode.net 
- Post: 6667 
- Channels: #navbuild 
- Nickname: navbuild 
- Prefix: ! 
- Hudson username: navbuild 
- Hudson passwrod: s3cret 
- 
-  * Save 
- 
-  * Manage Hudson 
-  * Manage Users 
-  * Create user 
- 
- username: navbuild 
- password: s3cret 
- fullname: hudson irc bot 
- email: bot@example.com 
- 
-  * create user 
- 
-  * For each job perform enable IRC notification 
- 
-  * Restart 
-  * Test 
- 
-===== Javascript Testing ===== 
-  * Install Node Package Manager 
- 
-      apt-get install make python g++ 
-      wget -N http://​nodejs.org/​dist/​node-latest.tar.gz 
-      tar xzvf node-latest.tar.gz && cd `ls -rd node-v*` 
-      ./configure 
-      make install 
-      ​ 
- 
-  * ''​npm install -g buster''​ 
-  * install Xvfb 
-  * ''​dbus-x11''​ maybe needed 
-  * install google chrome 
-    * Fetch correct package from https://​www.google.com/​intl/​en/​chrome/​browser/​ 
-    * Install: ''​dpkg -i <​package>''​ 
-    * Maybe you need some apt-fu: ''​apt-get install -f''​ 
-  * install imagemagick (for screenshots) 
-===== Future ideas ===== 
- 
-  * Use LDAP for auth 
-  * Perform schema diff of upgraded DB