Toolbox to create a continuous Delivery Platform with Jenkins-CI for Arch Packages
- Project Description
- CD System
- Usage
- Requirements for self-hosting
- Issues
- License
- Contact
- Contribution
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 /etc/pacman.conf
:
[aur]
SigLevel = Optional TrustAll
Server = http://mirror.virtapi.org/archlinux/$repo/os/$arch/
We also run a modifed version of Arch Linux Archive which holds all official repositories + our AUR repo, you find it at http://archive.virtapi.org/
- 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!
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.