FusionForge

Difference between revisions of "Tools/BuildBot"

From FusionForge Wiki
Jump to: navigation, search
(Updated with current info)
Line 2: Line 2:
  
 
Configuration of the builds (TODO: check me):
 
Configuration of the builds (TODO: check me):
* box: miromesnil
+
* physical box: miromesnil.gnurandal.net
 +
* buildbot VM (using KVM): vladimir.gnurandal.net
 
* ssh port : 10022
 
* ssh port : 10022
* Contains a "VM" (openvz) which runs Jenkins :
 
# vzctl enter 204
 
  
 
In the VM :
 
In the VM :
* user albot
+
* user jenkins ($HOME=/var/lib/jenkins)
* /home/albot/.hudson
+
* ~jenkins/jobs contains the different job configurations
* /home/albot/.hudson/jobs contains the different job configurations
+
* for instance ~jenkins/jobs/fusionforge-master-src-debian8/config.xml runs https://fusionforge.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=fusionforge/fusionforge.git;a=blob;f=tests/scripts/fusionforge-build-and-test-src-deb.sh;hb=HEAD
* for instance   /home/albot/.hudson/jobs/fusionforge-Branch_5_1-build-and-test-deb/config.xml runs https://fusionforge.org/scm/viewvc.php/branches/Branch_5_1/tests/scripts/fusionforge-build-and-test-deb.sh?root=fusionforge&view=markup
 
  
 
We also use [[LXC]], using a bridge setup with DHCP.
 
We also use [[LXC]], using a bridge setup with DHCP.
Line 22: Line 20:
 
It is meant to have the following build order:
 
It is meant to have the following build order:
  
  unittest [if OK] -> deb src build -> [if OK] deb pkg build -> centos src build -> [if OK] rpm pkg build
+
  unittests
 +
  → src build on centos5 → src build on centos6
 +
  → src build on debian7 → src build on debian8
  
 
* build in 'src' case: a 'source install' using install-ng
 
* build in 'src' case: a 'source install' using install-ng

Revision as of 07:42, 29 April 2014

Jenkins interface : http://buildbot.fusionforge.org/ (gives a list of different build queues)

Configuration of the builds (TODO: check me):

  • physical box: miromesnil.gnurandal.net
  • buildbot VM (using KVM): vladimir.gnurandal.net
  • ssh port : 10022

In the VM :

We also use LXC, using a bridge setup with DHCP.

It's rather using standard Jenkins setup, with the pipeline plugin. There are :

  • tasks to build lxc templates
  • 3rd party software

It is meant to have the following build order:

unittests
  → src build on centos5 → src build on centos6
  → src build on debian7 → src build on debian8
  • build in 'src' case: a 'source install' using install-ng
  • build in 'pkg' case: a pkg build + a pkg install
  • at the end of each build, Selenium tests are executed
  • if the build is ok, the result is put in a repository

TODO/wish list:

  • Automate task creation maybe using dsl plugin
    • improve the Jenkins plugin to pilot/setup Jenkins
    • put/visualize result in FRS
  • Use master/slave Jenkins capability to enable parallel builds
  • Try Buildbot as a Jenkins alternative

See also