summaryrefslogtreecommitdiff
path: root/continuous_integration_openbsd_setup.mdwn
blob: 6057e694e50e6f33935ec7be39d9ab411ff79e43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[[!meta title="Continuous Integration OpenBSD Setup"]]
[[!meta author="Kyllikki"]]
[[!meta date="2015-05-03T07:53:24Z"]]


[[!toc]]

Manual setup of OpenBSD 5.7
---------------------------

### system prep

-   set serial console up for VM
    <http://www.openbsd.org/faq/faq7.html#SerCon>

### required packages

Ensure all ports were added in the install or mess with ports as needed

`pkg_add -v jdk-1.7.0.71v0 screen-4.0.3p4 ccache gcc-4.9.2p3`  
`pkg_add -v rsync-3.1.1-iconv git check doxygen `  
`pkg_add -v gperf flex bison gtk+2 png jpeg spidermonkey-1.9.2.28p1v0`  
`pkg_add -v wget curl bash gmake p5-HTML-Parser`

### config

Add node on jenkins master CI instance

`Name       cislave6`  
`Description    OpenBSD 5.7 worker`  
`# of executors 1`  
`Remote FS root /var/lib/jenkins`  
`Labels     amd64-unknown-openbsd5.7`

take note of secret for use.

add jenkins user

`mkdir /var/lib`  
`adduser -home /var/lib`

login as jenkins user

download slave jar

`curl -o slave.jar `[`http://ci.netsurf-browser.org/jenkins/jnlpJars/slave.jar`](http://ci.netsurf-browser.org/jenkins/jnlpJars/slave.jar)

create jenkins slave script

`cat << EOF > jenkins-slave.sh`  
`#!/bin/sh`  
  
`java -Djava.awt.headless=true -jar slave.jar -jnlpUrl `[`http://ci.netsurf-browser.org/jenkins/computer/cislave6/slave-agent.jnlp`](http://ci.netsurf-browser.org/jenkins/computer/cislave6/slave-agent.jnlp)` -secret 1234`  
`EOF`  
`chmod a+x jenkins-slave.sh`

create ssh keypair (accept defaults - no password)

`ssh-keygen -t rsa -C "netsurf@cislave8.netsurf-browser.org"`

copy .ssh/id\_rsa.pub from slave to jenkins master node and append to
/home/netsurf/.ssh/authorized\_keys

start slave daemon in screen

Manual setup of OpenBSD 5.5
---------------------------

### required packages

Ensure all ports were added in the install or mess with ports as needed

`pkg_add -v jdk-1.7.0.21p2v0  screen-4.0.3p4 ccache gcc-4.8.2p2`  
`pkg_add -v rsync-3.1.0-iconv git check doxygen `  
`pkg_add -v gperf flex bison gtk+2 png jpeg spidermonkey-1.9.2.28p1v0`  
`pkg_add -v wget curl bash gmake p5-HTML-Parser`

### 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 on slave
    -   mkdir /var/lib
    -   create jenkins user

`adduser -home /var/lib`

Manual setup of OpenBSD 5.4
---------------------------

### required packages

Ensure all ports were added in the install or mess with ports as needed

`jdk-1.7.0.21v0`  
`screen-4.0.3p3`  
`ccache`  
`gcc-4.8.1p2`  
`rsync-3.0.9p3-iconv`  
`git`  
`check`  
`doxygen`  
`gperf`  
`flex`  
`bison`  
`gtk+2`  
`png`  
`jpeg`  
`spidermonkey-1.9.2.28p0v0`  
`wget`  
`curl`  
`bash`  
`gmake`  
`p5-HTML-Parser`

### 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 on slave
    -   mkdir /var/lib
    -   create jenkins user

`adduser -home /var/lib`