diff options
author | Vincent Sanders <vince@kyllikki.org> | 2017-09-06 11:02:18 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2017-09-06 11:02:18 +0100 |
commit | 87bb39f155f272047b5c56656cf086eb0b50f9eb (patch) | |
tree | 56776a6780fd1478a29226b077984d27fd2620ed /continuous_integration | |
parent | db900faf27516c1985695bcbc4d5be033af7c450 (diff) | |
download | netsurf-wiki-87bb39f155f272047b5c56656cf086eb0b50f9eb.tar.gz netsurf-wiki-87bb39f155f272047b5c56656cf086eb0b50f9eb.tar.bz2 |
update for fedora 26
Diffstat (limited to 'continuous_integration')
-rw-r--r-- | continuous_integration/fedora_26_setup.mdwn | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/continuous_integration/fedora_26_setup.mdwn b/continuous_integration/fedora_26_setup.mdwn new file mode 100644 index 0000000..27de6e4 --- /dev/null +++ b/continuous_integration/fedora_26_setup.mdwn @@ -0,0 +1,115 @@ +[[!meta title="Continuous Integration worker Fedora 26 Setup"]] +[[!meta author="Kyllikki"]] +[[!meta date="2017-09-06T09:44:14Z"]] + +[[!toc]] + +## Fedora 26 OS install + +### amd64 VDS install from media + +[[Virtual server setup|virtual_host_server]] + +use text mode to install fedora + + 1 Language settings to English/UK + 2 Time settings to Europe/London + 3 Installation source to local media + 4 Software selection to fedora server edition + 5 Installation destination to virtual disc, whole disc, standard partition layout + 6 Network config to wired (ens3) + 7 root password to netsurf ci worker default + 8 create netsurf user + +Once install is completed virtual server will power off + + +## 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](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. + + # 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 + + + + |