blob: a9a6a7a3019696305abe97322baccb935cb859e2 (
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
|
- name: install jenkins-binary-plugins copr repo
copy: >
src="jenkins-binary-plugins.repo"
dest="/etc/yum.repos.d/"
tags:
- jenkins
- jenkins/master
- config
- packages
- yumrepos
- name: install packages
dnf: name={{ item }} state=installed
with_items:
- jenkins
- jenkins-openid-plugin
- git
# binary plugins from copr repo
# - jenkins-bazaar-plugin
# - jenkins-chucknorris-plugin
- jenkins-cobertura-plugin
# - jenkins-cvs-plugin
- jenkins-external-monitor-job-plugin
- jenkins-git-client-plugin
- jenkins-git-plugin
# - jenkins-instant-messaging-plugin
# - jenkins-ldap-plugin
- jenkins-maven-plugin-plugin
# - jenkins-mercurial-plugin
- jenkins-python-plugin
- jenkins-scm-api-plugin
- jenkins-ssh-agent-plugin
- jenkins-translation-plugin
- jenkins-violations-plugin
- jenkins-xunit-plugin
tags:
- jenkins
- jenkins/master
- packages
- name: mount jenkins persistent storage
mount: name=/var/lib/jenkins src='LABEL=jenkins' fstype=ext4 state=mounted
tags:
- jenkins
- jenkins/master
- name: Install custom jenkins plugins (from ansible bigfiles)
copy: src="{{ bigfiles }}/jenkins/{{ item }}.hpi" dest=/var/lib/jenkins/plugins/{{ item }}.hpi
with_items:
- fedmsg
- description-setter
notify:
- restart jenkins
tags:
- jenkins
- jenkins/master
- config
- name: install jenkins launcher config file
copy: >
src="jenkins.conf"
dest="/etc/sysconfig/jenkins"
notify:
- restart jenkins
tags:
- jenkins
- jenkins/master
- config
- name: install jenkins master config files
copy: >
src="{{ item }}"
dest="/var/lib/jenkins/{{ item }}"
with_items:
- config.xml
- credentials.xml
- hudson.tasks.Mailer.xml
notify:
- restart jenkins
tags:
- jenkins
- jenkins/master
- config
- name: create directories for jenkins slaves config files
file: >
path="/var/lib/jenkins/nodes/{{ item.name }}"
state=directory
with_items: "{{ slaves }}"
tags:
- jenkins
- jenkins/master
- config
- name: install jenkins slaves config files
template: >
src="slave-config.xml.j2"
dest="/var/lib/jenkins/nodes/{{ item.name }}/config.xml"
with_items: "{{ slaves }}"
notify:
- restart jenkins
tags:
- jenkins
- jenkins/master
- config
- name: install private ssh key
copy: src="{{ private }}/files/jenkins/ssh/jenkins_master" dest=/etc/jenkins/id_rsa mode=400 owner=jenkins group=jenkins
tags:
- jenkins
- jenkins/master
- config
- name: enable jenkins service to start on boot
service: name=jenkins state=started enabled=true
tags:
- jenkins
- jenkins/master
- service
- name: create /srv/web for website role to use
file: >
path="/srv/web"
state=directory
tags:
- jenkins
- jenkins/master
- config
- name: install jenkins httpd config
template: >
src="jenkins-httpd.conf.j2"
dest="/etc/httpd/conf.d/jenkins-httpd.conf"
notify:
- restart apache
tags:
- jenkins
- jenkins/master
- config
- name: set sebooleans so proxying works
seboolean: name=httpd_can_network_relay state=true persistent=true
tags:
- jenkins
- jenkins/master
- config
|