- tasks:
- - name: restart jenkins to use new installed plugins
- meta: flush_handlers
-
- - name: Wait for Jenkins to start up before proceeding.
- command: >
- curl -D - --silent --max-time 5 http://{{ jenkins_hostname }}:{{ jenkins_http_port }}{{ jenkins_url_prefix }}/cli/
- args:
- warn: false
- register: result
- until: >
- (result.stdout.find("403 Forbidden") != -1)
- or (result.stdout.find("200 OK") != -1)
- and (result.stdout.find("Please wait while") == -1)
- retries: "{{ jenkins_connection_retries | default(60) }}"
- delay: "{{ jenkins_connection_delay | default(5) }}"
- changed_when: false
- check_mode: false
-
- - name: create directory /var/lib/jenkins/.ssh
- file:
- path: /var/lib/jenkins/.ssh
- owner: jenkins
- group: jenkins
- state: directory
-
- - name: place gerrit ssh key
- copy:
- src: "{{ gerrit_key_path | default('gerrit.key') }}"
- dest: /var/lib/jenkins/.ssh/gerrit.key
- owner: jenkins
- group: jenkins
- mode: '0600'
- tags: [gerrit]
-
- - name: grant jenkins user sudo
- copy:
- content: "jenkins ALL=(ALL) NOPASSWD: ALL"
- dest: /etc/sudoers.d/jenkins
- owner: root
- group: root
- mode: '0660'
- tags: [gerrit]
-
- - name: add gerrit server
- jenkins_script:
- script: "{{lookup('file', 'gerrit.groovy')}}"
- url: "http://{{ jenkins_hostname }}:{{ jenkins_http_port }}{{ jenkins_url_prefix }}"
- user: "{{ jenkins_admin_username }}"
- password: "{{ jenkins_admin_password }}"
- validate_certs: no
- register: result
- failed_when: "'Result: success\n' != result.output"
- tags: [gerrit]
-
- - name: Install python-pip
- apt:
- name: python-pip
- tags: [jobs]
-
- - name: Install python-jenkins and lxml(required by jenkins_job module)
- pip:
- name:
- - python-jenkins
- - lxml
- tags: [jobs]
-
- - name: Add pipeline job for ICN CI
- jenkins_job:
- name: icn_check
- config: "{{lookup('file', 'icn_check.xml')}}"
- url: "http://{{ jenkins_hostname }}:{{ jenkins_http_port }}{{ jenkins_url_prefix }}"
- user: "{{ jenkins_admin_username }}"
- password: "{{ jenkins_admin_password }}"
- tags: [jobs]