blob: 7587714c2f3258f32ca833acb2f8c6c48818bd85 (
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
|
- name: Verify Jenkins parameters
fail: msg="crowd_user and crowd_passwd should be defined in {{private_vars}}"
when: jenkins_auth == "crowd" and (crowd_user is not defined or crowd_passwd is not defined)
- name: Install Jenkins dependency packages
apt: pkg={{item}}
sudo: yes
with_items:
- default-jre
- daemon
- name: Download Jenkins {{jenkins_version}} LTS package
get_url: url=http://pkg.jenkins-ci.org/debian-stable/binary/jenkins_{{jenkins_version}}_all.deb
dest=/tmp/jenkins_{{jenkins_version}}_all.deb
- name: Install Jenkins
command: dpkg -i --skip-same-version /tmp/jenkins_{{jenkins_version}}_all.deb
sudo: yes
- name: Configure Jenkins port
lineinfile: regexp="^HTTP_PORT=" line="HTTP_PORT=9090" dest=/etc/default/jenkins backup=yes
sudo: yes
when: jenkins_port != 8080
- name: Configure Jenkins URL prefix
# Add --prefix= arg to existing args if not there yet
lineinfile: regexp='^JENKINS_ARGS=(?!.*--prefix=/jenkins)"?(.+?)"?$'
line='JENKINS_ARGS="\1 --prefix=/jenkins"'
dest=/etc/default/jenkins backrefs=yes
sudo: yes
when: jenkins_prefix != "/"
#- name: Set up minimal Jenkins configuration skeleton
# # This requires recursive copy patch
# copy: backup=yes src=jenkins-config/ dest=/var/lib/jenkins/ owner=jenkins
# sudo: yes
# notify:
# - Restart Jenkins
- name: Set up minimal Jenkins configuration skeleton 1
file: state=directory dest=/var/lib/jenkins/{{item}} owner=jenkins
sudo: yes
with_items:
- users/admin/
- jobs/blank/
- name: Set up minimal Jenkins configuration skeleton 2
copy: backup=yes src=jenkins-config/{{item}} dest=/var/lib/jenkins/{{item}} owner=jenkins
sudo: yes
with_items:
- users/admin/config.xml
- jobs/blank/config.xml
notify:
- Restart Jenkins
- name: Set up Jenkins config file
template: backup=yes src=jenkins-config/config.xml dest=/var/lib/jenkins/ owner=jenkins
sudo: yes
notify:
- Restart Jenkins
- name: Create Jenkins plugin dir
file: state=directory path=~jenkins/plugins/ owner=jenkins
sudo: yes
- name: Download Jenkins plugins
get_url: url={{item}} dest=~jenkins/plugins/ owner=jenkins
sudo: yes
with_items: jenkins_plugins
notify:
- Restart Jenkins
- name: Create Jenkins external address config
template: src=jenkins-config/hudson.tasks.Mailer.xml
dest=/var/lib/jenkins/hudson.tasks.Mailer.xml owner=jenkins
sudo: yes
|