summaryrefslogtreecommitdiff
path: root/continuous_integration
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2017-09-06 11:02:18 +0100
committerVincent Sanders <vince@kyllikki.org>2017-09-06 11:02:18 +0100
commit87bb39f155f272047b5c56656cf086eb0b50f9eb (patch)
tree56776a6780fd1478a29226b077984d27fd2620ed /continuous_integration
parentdb900faf27516c1985695bcbc4d5be033af7c450 (diff)
downloadnetsurf-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.mdwn115
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
+
+
+
+