Fedora 25 OS install
amd64 VDS install from media
Run through the base install steps ensuring to create the netsurf user.
Manual CI worker install
required packages
to obtain required packages
dnf install fedora-packager fedora-review java-1.8.0-openjdk-headless gcc clang git pkgconfig libcurl-devel libjpeg-devel bison flex expat-devel libpng-devel openssl-devel check gperf perl-HTML-Parser ccache
For gtk2 builds
dnf install gtk2-devel
for gtk3 builds
dnf install gtk3-devel
Development tool group using
dnf group install 'Development Tools'
config
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:
create jenkins user
adduser --system --create-home --home-dir /var/lib/jenkins/ jenkins
ensure /opt is setup correctly to allow toolchains to be built on the node
mkdir -p /opt/netsurf
chown jenkins:jenkins /opt/netsurf
become jenkins user
su -s /bin/bash - jenkins
create ssh keypair (accept defaults - no password)
ssh-keygen -t rsa -C "netsurf@nsciworker17.netsurf-browser.org"
copy .ssh/id_rsa.pub from worker to jenkins master node and append to /home/netsurf/.ssh/authorized_keys
scp .ssh/id_rsa.pub netsurf@ci.netsurf-browser.org:nsciworker17_id_rsa.pub
get jenkins slave jar
wget http://ci.netsurf-browser.org/jenkins/jnlpJars/slave.jar
exit jenkins user shell
create ns-ci-worker.service file
[Unit]
Description=Netsurf CI worker
Documentation=http://wiki.netsurf-browser.org/continuous_integration/
Requires=network.target
After=multi-user.target
[Service]
Type=simple
ExecStart=/bin/java -Djava.awt.headless=true -jar /var/lib/jenkins/slave.jar -jnlpUrl http://ci.netsurf-browser.org/jenkins/computer/ciworker17/slave-agent.jnlp -secret 0123456789abcdef01234567890abcdef
Restart=always
RestartSec=60
StartLimitInterval=0
User=jenkins
[Install]
WantedBy=multi-user.target
untill this bug is resolved it is necessary to symlink the jli library object somewhere the rpath faliure does not affect.
# ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.fc25.x86_64/jre/lib/amd64/jli/libjli.so /usr/lib64/libjli.so
install and start new service
install -D -m 644 ns-ci-worker.service /usr/lib/systemd/system/ns-ci-worker.service
systemctl daemon-reload
systemctl start ns-ci-worker
systemctl enable ns-ci-worker