summaryrefslogtreecommitdiff
path: root/continuous_integration_mac_os_x_yosemite_setup.mdwn
blob: 8acf882d274159fd5eb4ead892e2a1198cf5656d (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
[[!meta title="Continuous Integration Mac OS X Yosemite Setup"]]
[[!meta author="Kyllikki"]]
[[!meta date="2016-02-06T14:27:38Z"]]


[[!toc]] Install yosemite

set system name in system preferences-\>sharing

Update system in app store

Install Xcode from app store

install xcode commandline tools

`xcode-select --install`

accept licence

`xcodebuild -license`

install java

install [[https://www.macports.org/install.php Mac Ports|https///www.macports.org/install.php_mac_ports]]

Update ports database ready for use

`sudo port -v selfupdate`  
`sudo port upgrade outdated`

install required packages

`sudo port install git ccache expat openssl curl libjpeg-turbo libpng p5-html-parser screen bison pkgconfig`

create jenkins user

enable ssh login for jenkins user in system
preferences-\>sharing-\>remote login

Add node on jenkins master CI instance.

`Name       cislave14`  
`Description    Mac os X yosemite build slave`  
`# of executors 2`  
`Remote FS root /Users/jenkins/jenkins`  
`Labels     x86_64-apple-darwin14.5.0`

take note of secret and slave url for use in next steps.

As jenkins user:

create jenkins workspace directory

`mkdir jenkins`

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/cislave7/slave-agent.jnlp`](http://ci.netsurf-browser.org/jenkins/computer/cislave7/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