summaryrefslogtreecommitdiff
path: root/continuous_integration/openbsd_setup.mdwn
blob: e8dd5ef44140e9e6b88fc38725e2fd0c43f4b67f (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
[[!meta title="Continuous Integration OpenBSD Setup"]]
[[!meta author="Kyllikki"]]
[[!meta date="2017-09-18T07:53:24Z"]]


[[!toc]]

Manual setup of OpenBSD 6.1
---------------------------

### system prep

get iso from [mirror](https://www.mirrorservice.org/pub/OpenBSD/)

setup VM on phoenix

at the welcome prompt choose I to install

default keyboard layout

system name is nsciworker6 or similar

use default re0 for network interface

use dhcp to configure ipv4

use none for ipv6

do not configure any more interfaces

setup root account

start sshd by default

disable x window system

do not run default console on com0

setup netsurf user

do not allow root ssh login

GMT timezone

select wd0 as available disc

select whole disc

Edit the auto layout

resize home to be smaller and var to be larger with the "R" command

write label to disc with w and exit with x

location of sets http

proxy is none

accept default server and directory

file sets

use -game61.tgz to remove game set

same for xfont and xserv

select done and sets will be installed

select doen for location of sets

reboot into new system

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.8.0.121p1v0 screen-4.0.3p6 ccache-3.3.4 gcc-4.9.4p4
    pkg_add -v rsync-3.1.2p0-iconv git check doxygen
    pkg_add -v gperf flex bison gtk+2 png jpeg
    pkg_add -v wget curl bash gmake p5-HTML-Parser

for historical reasons link gflex to flex in /usr/bin

### config

Add node on jenkins master CI instance

    Name           cislave6
    Description    OpenBSD 6.1 worker
    # of executors 1
    Remote FS root /var/lib/jenkins
    Labels         amd64-unknown-openbsd6.1

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

create jenkins slave script

    cat << EOF > jenkins-slave.sh
    #!/bin/sh
    
    PATH=$PATH:/usr/local/jdk-1.8.0/bin/
    
    export PATH
    
    java -Djava.awt.headless=true -jar slave.jar -jnlpUrl http://ci.netsurf-browser.org/jenkins/computer/ciworker6/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@ciworker6.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.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`