.. | ||
Dockerfile | ||
README.md | ||
slave.py |
Gluon CI using Jenkins
Requirements
- Linux system
- with docker installed
- with Hardware Virtualisation (KVM Support)
- Verify using:
lscpu | grep vmx
- If machine is virtualized host needs to load
kvm_intel
withnested=1
option and cpuflags need to includevmx
- Verify using:
Architecture
Installation
You can support the gluon CI with your infrastructure:
- You need to query @lemoer (freifunk@irrelefant.net) for credentials.
- He will give you a
SLAVE_NAME
and aSLAVE_SECRET
for your host. - Then go to your docker host and substitute the values for
SLAVE_NAME
and aSLAVE_SECRET
in the following statements:
git clone https://github.com/freifunk-gluon/gluon/
cd gluon/contrib/ci/jenkins-community-slave/
docker build -t gluon-jenkins .
mkdir /var/cache/openwrt_dl_cache/
chown 1000:1000 /var/cache/openwrt_dl_cache
echo "z /dev/kvm 0666 - kvm -" > /etc/tmpfiles.d/kvm.conf
systemd-tmpfiles --create
docker run --detach --restart always \
--env "SLAVE_NAME=whoareyou" \
--env "SLAVE_SECRET=changeme" \
--device /dev/kvm:/dev/kvm \
--volume /var/cache/openwrt_dl_cache/:/dl_cache \
gluon-jenkins
- Check whether the instance is running correctly:
- Your node should appear here.
- When clicking on it, Jenkins should state "Agent is connected." like here:
- Your docker container needs to be rebuilt, when the build dependencies of gluon change. As soon as build dependencies have changed, the build dependency api level has to be raised. After you rebuilt your docker container, notifiy @lemoer, so he can bump the versioning number.
Backoff
- If @lemoer is not reachable, please be patient at first if possible. Otherwise contact info@hannover.freifunk.net or join the channel
#freifunkh
on hackint.