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
|
---
- name: Ensure data volume is owned by jenkins
file:
path: "{{jenkins_master_data_volume}}"
state: directory
owner: 1000
group: 1000
recurse: yes
follow: no
# This is a *dead* symlink on the host, that becomes active when attached to the docker image.
# This allows us to have our plugins installed in the docker image instead on the host.
- name: Ensure data volume has plugins symlink
file:
dest: "{{jenkins_master_data_volume}}/plugins"
src: /var/jenkins_plugins
state: link
force: yes
# This controls images available on the system since
# we don't allow docker_container to do its own pulls
- name: Pull latest images from upstream repo
docker_image:
name: "{{jenkins_master_image}}"
state: present
force: True
when: jenkins_upgrade is defined
- name: Create jenkins data volume container
docker_container:
name: "{{jenkins_master_data_container_name}}"
image: "{{jenkins_master_image}}"
pull: False
ignore_image: "{{not(jenkins_upgrade is defined)}}"
state: present
- name: Create jenkins container
docker_container:
name: "{{jenkins_master_container_name}}"
image: "{{jenkins_master_image}}"
pull: False
ignore_image: "{{not(jenkins_upgrade is defined)}}"
state: started
log_driver: journald
restart_policy: unless-stopped
published_ports:
- "{{jenkins_master_port}}:{{jenkins_master_port}}"
- "{{jenkins_master_slaves_port}}:{{jenkins_master_slaves_port}}"
- "{{jenkins_master_sshd_port}}:{{jenkins_master_sshd_port}}"
- "{{jenkins_jnlp_port}}:{{jenkins_jnlp_port}}"
volumes:
- "{{jenkins_master_data_volume}}:/var/jenkins_home"
volumes_from:
- "{{jenkins_master_data_container_name}}"
etc_hosts:
{
"bkp-01.tcwglab":"51.148.40.55",
"build-01.tcwglab build-01.tcwglab.linaro.org":"192.168.16.5",
"build-02.tcwglab build-02.tcwglab.linaro.org":"192.168.16.6",
"build-03.tcwglab build-03.tcwglab.linaro.org":"192.168.16.7",
"build-04.tcwglab build-04.tcwglab.linaro.org":"192.168.16.8",
"build-05.tcwglab build-05.tcwglab.linaro.org":"192.168.16.9",
"build-06.tcwglab build-06.tcwglab.linaro.org":"192.168.16.10",
"build-07.tcwglab build-07.tcwglab.linaro.org":"192.168.16.11",
"build-08.tcwglab build-08.tcwglab.linaro.org":"192.168.16.12",
"apm-01.tcwglab apm-01.tcwglab.linaro.org":"192.168.16.20",
"apm-02.tcwglab apm-02.tcwglab.linaro.org":"192.168.16.21",
"test-armv8-01.tcwglab test-armv8-01.tcwglab.linaro.org":"192.168.16.24",
"test-armv8-02.tcwglab test-armv8-02.tcwglab.linaro.org":"192.168.16.25",
"bb-mustang-01.tcwglab aarch64-06.tcwglab":"192.168.16.91",
"openjdk-apm1.tcwglab aarch64-08.tcwglab":"192.168.16.92",
"tcwg-tx1-01.tcwglab tx1-01.tcwglab.linaro.org":"192.168.18.101",
"tcwg-tx1-02.tcwglab tx1-02.tcwglab.linaro.org":"192.168.18.102",
"tcwg-tx1-03.tcwglab tx1-03.tcwglab.linaro.org":"192.168.18.103",
"tcwg-tx1-04.tcwglab tx1-04.tcwglab.linaro.org":"192.168.18.104",
"tcwg-tx1-05.tcwglab tx1-05.tcwglab.linaro.org":"192.168.18.105",
"tcwg-bmk-tx1-06.tcwglab bmk-tx1-06.tcwglab.linaro.org":"192.168.18.106",
"tcwg-bmk-tx1-07.tcwglab bmk-tx1-07.tcwglab.linaro.org":"192.168.18.107",
"tcwg-bmk-tx1-08.tcwglab bmk-tx1-08.tcwglab.linaro.org":"192.168.18.108",
"tcwg-tk1-01.tcwglab tk1-01.tcwglab.linaro.org":"192.168.18.151",
"tcwg-tk1-02.tcwglab tk1-02.tcwglab.linaro.org":"192.168.18.152",
"tcwg-tk1-03.tcwglab tk1-03.tcwglab.linaro.org":"192.168.18.153",
"tcwg-tk1-04.tcwglab tk1-04.tcwglab.linaro.org":"192.168.18.154",
"tcwg-tk1-05.tcwglab tk1-05.tcwglab.linaro.org":"192.168.18.155",
"tcwg-bmk-tk1-06.tcwglab bmk-tk1-06.tcwglab.linaro.org":"192.168.18.156",
"tcwg-bmk-tk1-07.tcwglab bmk-tk1-07.tcwglab.linaro.org":"192.168.18.157",
"tcwg-bmk-tk1-08.tcwglab bmk-tk1-08.tcwglab.linaro.org":"192.168.18.158",
"tcwg-tk1-09.tcwglab tk1-09.tcwglab.linaro.org":"192.168.18.159",
"dev-x86-01.tcwglab dev-x86-01.tcwglab.linaro.org":"192.168.17.10",
"dev-x86-02.tcwglab dev-x86-02.tcwglab.linaro.org":"192.168.17.15",
"x86-64-01-art.tcwglab x86-64-01-art.tcwglab.linaro.org":"192.168.36.10",
"x86-64-02-art.tcwglab x86-64-02-art.tcwglab.linaro.org":"192.168.36.15",
"macos-01-art.tcwglab macos-01-art.tcwglab.linaro.org":"192.168.36.51"
}
- name: Wait for Jenkins starts
wait_for:
port: 8080
delay: 10
|