Toolbox to create a continuous Delivery Platform with Jenkins-CI for Arch Packages
- Project Description
- CD System
- Requirements for self-hosting
We are currently building every AUR package listed in the aur-packages file. Our get-missing-deps.rb script can iterate at the list and find missing dependencies that aren't satisfied by the official repos. This dep will be added to the aur-packages file as well.
We have got a completely automated continuous delivery pipeline. Every change to the master branch of this repository will notify our Jenkins-CI. Jenkins runs the create_subjobs.groovy at every notification. The script creates a job definition for every package. The job will run every 20minutes and deploy the package to our own mirror.
We provide a normal repository, add the following to your
[aur] SigLevel = Optional TrustAll Server = http://mirror.virtapi.org/archlinux/$repo/os/$arch/
Requirements for self-hosting
- job-dsl - create_subjobs.groovy needs it to create jobs from a DSL Script You need to approve every change of the create_subjobs.groovy script under Manage Jenkins > In-process Script Approval
- postbuildscript - needed to run post build scripts in DSL
- [ChuckNorris] (https://plugins.jenkins.io/chucknorris) - Errors fears a Round House Kick from ChuckNorris!
Preperation for mkarchroot
The script works currently with a fix path for the chroot environment, so you have to execute
mkarchroot /mnt/aur/build_test/root base-devel
All of this code is based on the AGPL, you can find the license here.
You can meet us in #virtapi at freenode.
We've defined our contribution rules in CONTRIBUTING.md.