summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2017-06-21 17:30:10 (GMT)
committer Vincent Sanders <vince@kyllikki.org>2017-06-21 17:30:10 (GMT)
commit0238cbcfc0b5ca59e0ee7105db657cc2b866ba10 (patch)
treeecfb440f5523fc84ca777f1b4d29759715fe8342
parentb659e4ea41392f0c32e0eddcd3a165f8dead0a83 (diff)
downloadnetsurf-wiki-0238cbcfc0b5ca59e0ee7105db657cc2b866ba10.tar.gz
netsurf-wiki-0238cbcfc0b5ca59e0ee7105db657cc2b866ba10.tar.bz2
Add fedora CI slave setup
-rw-r--r--continuous_integration.mdwn20
-rw-r--r--continuous_integration/fedora_25_setup.mdwn60
-rw-r--r--virtual_host_server.mdwn50
3 files changed, 70 insertions, 60 deletions
diff --git a/continuous_integration.mdwn b/continuous_integration.mdwn
index 282b366..8eeb45d 100644
--- a/continuous_integration.mdwn
+++ b/continuous_integration.mdwn
@@ -57,22 +57,24 @@ The majority of the build slaves are provided by our own
[[virtual host server|virtual_host_server]] excepting operating
systems which cannot be virtualised (principally MAC OS X).
-### [[Continuous Integration Debian 9 (Stretch) Setup|continuous_integration/debian_stretch_setup]]
+### [[Debian 9 (Stretch) Setup|continuous_integration/debian_stretch_setup]]
-### [[Continuous Integration Debian 8 (Jessie) Setup|continuous_integration/debian_jessie_setup]] - Obsolete
-
-### [[Continuous Integration Debian 7 (Wheezy) Setup|continuous_integration/debian_wheezy_setup]] - Obsolete
+### [[Fedora 25 Setup|continuous_integration/fedora_25_setup]]
-### [[Continuous Integration OpenBSD Setup|continuous_integration/openbsd_setup]]
+### [[OpenBSD Setup|continuous_integration/openbsd_setup]]
-### [[Continuous Integration FreeBSD Setup|continuous_integration/freebsd_setup]]
+### [[FreeBSD Setup|continuous_integration/freebsd_setup]]
-### [[Continuous Integration Haiku Slave Setup|continuous_integration/haiku_slave_setup]]
+### [[Haiku Setup|continuous_integration/haiku_slave_setup]]
-### [[Continuous Integration Mac OS X Snow Leopard Setup|continuous_integration/mac_os_x_snow_leopard_setup]]
+### [[Mac OS X Snow Leopard Setup|continuous_integration/mac_os_x_snow_leopard_setup]]
-### [[Continuous Integration Mac OS X Yosemite Setup|continuous_integration/mac_os_x_yosemite_setup]]
+### [[Mac OS X Yosemite Setup|continuous_integration/mac_os_x_yosemite_setup]]
## Historical
+### [[Continuous Integration Debian 8 (Jessie) Setup|continuous_integration/debian_jessie_setup]] - Obsolete
+
+### [[Continuous Integration Debian 7 (Wheezy) Setup|continuous_integration/debian_wheezy_setup]] - Obsolete
+
The old discussion on [[Autobuilder requirements|continuous_integration/autobuilder_requirements]] lists requirements for the new autobuilder.
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
-
-
diff --git a/virtual_host_server.mdwn b/virtual_host_server.mdwn
index 2b3def8..1d66542 100644
--- a/virtual_host_server.mdwn
+++ b/virtual_host_server.mdwn
@@ -4,11 +4,10 @@
[[!toc]] The system providing the
-virtual host services for the NetSurf project is currently named
-phoenix.
+virtual host services for the NetSurf project is currently named phoenix.
-Access is \*only\* via the NetSurf VPN. For VPN access contact vince
-though you can also use your ssh key access to ci.netsurf-browser.org
+Access is \*only\* via the NetSurf VPN. For VPN access contact vince@netsurf-browser.org
+Developers can also use their ssh key access to ci.netsurf-browser.org and on from there
phoenix is currently 192.168.211.50 if the DNS is unavailable
@@ -20,15 +19,41 @@ Become superuser with sudo
### Debian VPS
If you are creating a new Debian box there is a helper script
-(new-wheezy-vps.sh ) which just just need to pass a system name to and
+(new-stretch-vps.sh ) which just just need to pass a system name to and
you will get a 40G disc/ 512MB RAM system.
for example:
-`new-wheezy-vps.sh ciworker13`
+`new-stretch-vps.sh ciworker18`
+
+will create a system named ciworker18 with 40G of disc and 512MB of
+memory with the Debian stretch boot iso connected to the cdrom drive.
+
+### Fedora
+
+- create lvm device for the system
+
+ lvcreate --size 40G -n nsciworker18 vg
+
+- Ensure the OS install dvd is in /var/lib/libvirt/images/
+
+- Create the virtual machine
+
+ virt-install -n nsciworker18 -r 1024 \
+ --disk path=/dev/mapper/vg-${VDSNAME},bus=virtio \
+ --accelerate \
+ --network=bridge:${VDSBRIDGE} \
+ --connect=qemu:///system \
+ --noautoconsole -v \
+ --nographics \
+ --os-type=linux \
+ --location /var/lib/libvirt/images/Fedora-Server-dvd-x86_64-25-1.3.iso \
+ --extra-args='console=tty0 console=ttyS0,115200n8 serial'
+
+- Once running the serial console can be used
+
+ virsh console nsciworker18
-will create a system named ciworker13 with 40G of disc and 512MB of
-memory with the Debian wheezy boot iso connected to the cdrom drive.
### Other VPS
@@ -36,16 +61,17 @@ The manual setup for other systems is:
- create lvm device for the system
-`lvcreate --size 40G -n system_name vg`
+ lvcreate --size 40G -n system_name vg
- if the OS requires a cdrom install media download and place in
/var/lib/libvirt/images/
+
- use virt install to create the new VM substitutig appropriate values
for volume name, memory, boot disc
-`virt-install -n ciworker13 -r 512 --disk path=/dev/mapper/vg-ciworker13,bus=virtio \`
-`-c /var/lib/libvirt/images/cd54.iso --accelerate --network=bridge:br0 \`
-`--connect=qemu:///system --vnc --noautoconsole -v`
+ virt-install -n ciworker13 -r 512 --disk path=/dev/mapper/vg-ciworker13,bus=virtio \
+ -c /var/lib/libvirt/images/cd54.iso --accelerate --network=bridge:br0 \
+ --connect=qemu:///system --vnc --noautoconsole -v
Admin
-----