-
Notifications
You must be signed in to change notification settings - Fork 23
freebsd_setup
!meta title="Continuous Integration FreeBSD Setup" !meta author="Kyllikki" !meta date="2014-12-21T02:25:02Z"
as per 10.1
login as jenkins user
download slave jar
curl -o slave.jar http://ci.netsurf-browser.org/jenkins/jnlpJars/slave.jar
create jenkins slave script
cat << EOF > jenkins-slave.sh
#!/bin/sh
PATH=$PATH:/usr/local/jdk-1.8.0/bin/
export PATH
java -Djava.awt.headless=true -jar slave.jar -jnlpUrl http://ci.netsurf-browser.org/jenkins/computer/ciworker6/slave-agent.jnlp -secret 1234
EOF
chmod a+x jenkins-slave.sh
create ssh keypair (accept defaults - no password)
ssh-keygen -t rsa -C "[email protected]"
copy .ssh/id_rsa.pub from slave to jenkins master node and append to /home/netsurf/.ssh/authorized_keys
start slave daemon in screen
Install VM from ISO the usual 1G of RAM and 40G of disc is sufficient. The install will ask for root password, also create a jenkins user and give it a password and home dir of /var/lib/jenkins .
I had lots of issues trying to get ps2 mouse support working, the usb mouse did work but a CI slave does not need it.
enable serial console
echo 'console="comconsole"' >> /boot/loader.conf
ensure pkg-config is replaced by the freebsd equivalent
pkg set -o devel/pkg-config:devel/pkgconf
pkg install -f devel/pkgconf
Ensure all ports were added in the install or mess with ports as needed
The first run of the pkg command will prompt you to install it.
pkg install curl
is a good starting place.
Required packages:
git
gmake
bash
ccache
flex
bison
png
jpeg
wget
gtk2
openssl
p5-HTML-Parser
screen
gperf
rsync
openjdk
vim-console
vim-console is required for the xxd tool
on master jenkins use "manage nodes" to create new node. Ensure "remote fs root" is set to /var/lib/jenkins add variable JENKINS_HOME set to /var/lib/jenkins
As superuser on slave:
- create jenkins user
adduser -home /var/lib