Fedora 25 OS install

amd64 VDS install from media

Virtual server setup

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