From b659e4ea41392f0c32e0eddcd3a165f8dead0a83 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 21 Jun 2017 12:12:26 +0100 Subject: add fedora 25 ci woerker instructions --- continuous_integration/fedora_25_setup.mdwn | 122 ++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 continuous_integration/fedora_25_setup.mdwn (limited to 'continuous_integration') diff --git a/continuous_integration/fedora_25_setup.mdwn b/continuous_integration/fedora_25_setup.mdwn new file mode 100644 index 0000000..1ac1786 --- /dev/null +++ b/continuous_integration/fedora_25_setup.mdwn @@ -0,0 +1,122 @@ +[[!meta title="Continuous Integration worker Fedora 25 Setup"]] +[[!meta author="Kyllikki"]] +[[!meta date="2017-05-28T12:46:14Z"]] + + +[[!toc]] + +## Fedora 25 OS install + +### amd64 VDS install from media + +[[Virtual server setup|virtual_host_server]] + +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 screen 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 --group --home /var/lib/jenkins/ --disabled-login 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 /home/jenkins/.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/nsworker17/slave-agent.jnlp -secret 0123456789abcdef01234567890abcdef + Restart=always + RestartSec=60 + StartLimitInterval=0 + User=jenkins + + [Install] + WantedBy=multi-user.target + + +- 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 + + + + + + + + + +- create jenkins-slave.sh ensuring the secret key is correct + + #!/bin/bash + + + +- run screen + +- run jenkins-slave.sh + +- detach screen + + -- cgit v1.2.3