Changes

Gentoo Infrastructure

1,219 bytes added, 20:07, 31 January 2014
/* Build farm proposal */
= Implementation proposal =
== Build farm proposal ==
The build farm consists out of a system of multiple vms to build binary packages for multiple environments, architectures and build profiles. * Git webhook on internal gitlab install pushes changes to jenkins master.* Jenkins master dishes out jobs to jenkins slave machines for needed architecture and build profile.* Jenkins slaves only get used once and wipe/reprovision themselves after master has stored build artefacts.* We have build-slave templates available for each architecture/build profile combo.* Upon use those get provisioned to the needed environment using puppet.* All of this is set up using puppet and fully automated, even building of new build-slave templates and the whole releng on those.* The build farm also keeps old templates and stable boxes on hold so it can use them to build differentials.* Artefacts slaves will be producing:** "vagrant"-style boot boxes** full binpkg repos for a given env/arch/build profile combo** stage3 balls for each arch/build profile** stage4 balls for each environment** build logs** <code>/var/db/pkg</code>** puppet report data** test results and code analysis results* When we come to continuos deployment the jenkins master will also be able to trigger puppet when merges to master happen. Thus rolling out releases to the sub-system that was signed off by a merge to a master branch.
=== Links ===
49
edits