dustin
/
jenkinsagent
Archived
1
0
Fork 0
Buildroot configuration for network-booted Jenkins agent system.
This repository has been archived on 2023-11-14. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
Go to file
Dustin 4e05173ae1 rootfs: Fetch SSH known hosts file
Jenkins agents need to have a pre-built cache of SSH public keys for any
host jobs need to access.  This file is typically bind-mounted into
jobs' containers.

For the older Fedora-based agent nodes, the `ssh_known_hosts` file is
populated by Ansible.  That mechanism will not work for agent nodes
using the immutable root filesystem created by this project, so we need
an alternative.  To that end, the `fetch-ssh-knownhosts` service
downloads the keys from another machine using HTTPS when the system
boots up and then periodically while it is running.
2022-03-15 14:38:05 -05:00
configs rootfs: Persistent storage for Jenkins, Docker 2022-03-15 14:18:29 -05:00
initramfs initramfs: sync time with NTP 2022-03-15 14:18:29 -05:00
rootfs rootfs: Fetch SSH known hosts file 2022-03-15 14:38:05 -05:00
.gitignore Initial commit 2022-03-09 00:27:30 -06:00
Config.in Initial commit 2022-03-09 00:27:30 -06:00
README.md Initial commit 2022-03-09 00:27:30 -06:00
cmdline.txt Use NBD server on pxe0 2022-03-15 14:18:29 -05:00
config.txt Initial commit 2022-03-09 00:27:30 -06:00
external.desc Initial commit 2022-03-09 00:27:30 -06:00
external.mk Initial commit 2022-03-09 00:27:30 -06:00

README.md

Network-Booted Jenkins Agent

Required Build Host Configuration

sudo dnf install -y \
	ncurses-devel \
	perl-ExtUtils-MakeMaker \
	perl-FindBin \
	perl-Thread-Queue \
	--
git clone git://git.buildroot.net/buildroot ~/src/buildroot

Build

Build the Initramfs

make -C ~/src/buildroot O=${PWD}/_build/initramfs BR2_EXTERNAL=${PWD} jenkinsagent_initramfs_defconfig
make -C _build/initramfs -j $(nproc)

Build the Rootfs

make -C ~/src/buildroot O=${PWD}/_build/rootfs BR2_EXTERNAL=${PWD} jenkinsagent_defconfig
make -C _build/rootfs -j $(nproc)