From 0238cbcfc0b5ca59e0ee7105db657cc2b866ba10 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 21 Jun 2017 18:30:10 +0100 Subject: Add fedora CI slave setup --- continuous_integration/fedora_25_setup.mdwn | 60 ++++++++++------------------- 1 file changed, 21 insertions(+), 39 deletions(-) (limited to 'continuous_integration') diff --git a/continuous_integration/fedora_25_setup.mdwn b/continuous_integration/fedora_25_setup.mdwn index 1ac1786..cce96ac 100644 --- a/continuous_integration/fedora_25_setup.mdwn +++ b/continuous_integration/fedora_25_setup.mdwn @@ -21,7 +21,7 @@ Run through the base install steps ensuring to create the netsurf user. 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 screen check gperf perl-HTML-Parser ccache + 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 screen check gperf perl-HTML-Parser ccache For gtk2 builds @@ -38,41 +38,38 @@ Development tool group using ### 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 +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 +create jenkins user - adduser --system --group --home /var/lib/jenkins/ --disabled-login jenkins + adduser --system --create-home --home-dir /var/lib/jenkins/ jenkins -- ensure /opt is setup correctly to allow toolchains to be built on the node +ensure /opt is setup correctly to allow toolchains to be built on the node - mkdir -p /opt/netsurf - chown jenkins:jenkins /opt/netsurf + mkdir -p /opt/netsurf + chown jenkins:jenkins /opt/netsurf -- become jenkins user +become jenkins user - su -s/bin/bash - jenkins + su -s/bin/bash - jenkins -- create ssh keypair (accept defaults - no password) +create ssh keypair (accept defaults - no password) - ssh-keygen -t rsa -C "netsurf@nsciworker17.netsurf-browser.org" + 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 +copy .ssh/id\_rsa.pub from worker to jenkins master node and append to /home/netsurf/.ssh/authorized\_keys - scp /home/jenkins/.ssh/id_rsa.pub netsurf@ci.netsurf-browser.org:nsciworker17_id_rsa.pub + scp .ssh/id_rsa.pub netsurf@ci.netsurf-browser.org:nsciworker17_id_rsa.pub -- get jenkins slave jar +get jenkins slave jar wget http://ci.netsurf-browser.org/jenkins/jnlpJars/slave.jar -- exit jenkins user shell +exit jenkins user shell -- create ns-ci-worker.service file +create ns-ci-worker.service file [Unit] Description=Netsurf CI worker @@ -82,7 +79,7 @@ As superuser: [Service] Type=simple - ExecStart=/bin/java -Djava.awt.headless=true -jar /var/lib/jenkins slave.jar -jnlpUrl http://ci.netsurf-browser.org/jenkins/computer/nsworker17/slave-agent.jnlp -secret 0123456789abcdef01234567890abcdef + 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 @@ -91,8 +88,11 @@ As superuser: [Install] WantedBy=multi-user.target +untill [this bug](https://bugzilla.redhat.com/show_bug.cgi?id=1358476) is resolved it is necessary to symlink the jli library object somewhere the rpath faliure does not affect. -- install and start new service + # 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 @@ -102,21 +102,3 @@ As superuser: - - - - - -- create jenkins-slave.sh ensuring the secret key is correct - - #!/bin/bash - - - -- run screen - -- run jenkins-slave.sh - -- detach screen - - -- cgit v1.2.3