aboutsummaryrefslogtreecommitdiff
path: root/ansible-deploy/roles/jenkins/tasks/main.yml
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