User Tools

Site Tools


devel:hudson

Differences

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

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
devel:hudson [2010/07/08 09:36]
thomaska Document how Hudson is setup
devel:hudson [2012/09/26 08:13]
bredal [Javascript Testing]
Line 32: Line 32:
  CLASSPATH=/​usr/​share/​java/​libsnmp-1.4.jar  CLASSPATH=/​usr/​share/​java/​libsnmp-1.4.jar
  
-===== Create DB job ===== +  ​Hudson has no security enabled by defaultso be sure to enable appropriate settings for your install.
- +
-  ​New Job +
-  * Name: createdbType: freestyle +
-  * SCM: mercurial repo: http://​metanav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x +
-  * Build Triggers: Poll SCM schedule: * * * * * +
-  * Build env: +
- +
- PGDATABASE=nav-$JOB_NAME +
- +
-  * Build: Execute shell +
- +
- ./​version.sh +
- ./​tests/​createdb-test.sh +
- +
-  * Test build+
  
 ===== Make install job ===== ===== Make install job =====
Line 53: Line 38:
   * New Job   * New Job
   * Name: make-install,​ Type: freestyle   * Name: make-install,​ Type: freestyle
-  * SCM: mercurial repo: http://metanav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x+  * SCM: mercurial repo: http://nav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x
   * Build Triggers: Poll SCM schedule: * * * * *   * Build Triggers: Poll SCM schedule: * * * * *
   * Build: Execute shell   * Build: Execute shell
Line 61: Line 46:
  make  make
  make install  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   * Test build
Line 68: Line 69:
   * New Job   * New Job
   * Name: python-tests,​ Type: freestyle   * Name: python-tests,​ Type: freestyle
-  * SCM: mercurial repo: http://metanav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x +  * SCM: mercurial repo: http://nav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x 
-  * Build Triggers: After other: make-install, createdb+  * Build Triggers: After other: make-install
   * Build env:   * Build env:
  
Line 88: Line 89:
   * New Job   * New Job
   * Name: crawler-tests,​ Copy: python-tests   * Name: crawler-tests,​ Copy: python-tests
-  * Build Triggers: After other: createdb, make-install+  * Build Triggers: After other: createdb
   * Build env:   * Build env:
  
Line 109: Line 110:
   * New Job   * New Job
   * Name: upgradedb, Type: freestyle   * Name: upgradedb, Type: freestyle
-  * SCM: mercurial repo: http://metanav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x+  * SCM: mercurial repo: http://nav.uninett.no/​hg/​series/​3.6.x/​ branch: ​ 3.6.x
   * Build Triggers: After other: createdb   * Build Triggers: After other: createdb
   * Build env:   * Build env:
  
  PGDATABASE=nav-$JOB_NAME  PGDATABASE=nav-$JOB_NAME
- OTHER_URL=http://​metanav.uninett.no/​hg/​series/​3.5.x/​+ OTHER_URL=http://​nav.uninett.no/​hg/​series/​3.5.x/​
  OTHER_FOLDER=$WORKSPACE/​3.5  OTHER_FOLDER=$WORKSPACE/​3.5
  UPGRADE_FILES=3.6.*.sql trunk.sql  UPGRADE_FILES=3.6.*.sql trunk.sql
Line 120: Line 121:
   * Build: Execute shell:   * Build: Execute shell:
  
- ./​version.sh 
  test -d $OTHER_FOLDER && rm -rf $OTHER_FOLDER || true  test -d $OTHER_FOLDER && rm -rf $OTHER_FOLDER || true
  hg clone $OTHER_URL $OTHER_FOLDER  hg clone $OTHER_URL $OTHER_FOLDER
Line 152: Line 152:
  Hostname: chat.eu.freenode.net  Hostname: chat.eu.freenode.net
  Post: 6667  Post: 6667
- Channels: #nav+ Channels: #navbuild
  Nickname: navbuild  Nickname: navbuild
  Prefix: !  Prefix: !
Line 171: Line 171:
   * create user   * create user
  
-  * For each job perform ​the following changes: +  * For each job perform ​enable ​IRC notification
-  * Congfigure +
-  * IRC Notification:​ Notification Strategy: Change +
-  * Save+
  
   * Restart   * Restart
   * Test   * 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 ===== ===== Future ideas =====
  
 +  * Hudson is currently only track adamcik/​testing as this branch has the required helpers, so as soon as this lands in default/​3.6.x Hudson should be updated to follow the correct repo.
   * Use LDAP for auth   * Use LDAP for auth
-  * Use metanav.uninett.no/​hudson as proxy (with SSL?)+  * Use nav.uninett.no/​hudson as proxy (with SSL?)
   * Perform schema diff of upgraded DB   * Perform schema diff of upgraded DB
   * Integrate new createdb script once written   * Integrate new createdb script once written
- +  * As a new version of seeddb is being created, the old version has been blacklisted from the html validation test. This needs to be undone once the new seeddb version is merged. 
 +  * Use of virtualenv in bootstrap and the Hudson tests should be removed in favor of a nose version > 0.10 being installed on elixis.
devel/hudson.txt · Last modified: 2012/09/27 11:38 by morten