From 3689eddd36f51c985a8feea66838a8bf31a4b2fd Mon Sep 17 00:00:00 2001 From: Timo Mihaljov Date: Sun, 3 Jul 2016 14:16:27 +0300 Subject: [PATCH] Avoid become_user: jenkins It requires changes to ansible.cfg on Ansible 2.1: http://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user --- CHANGELOG.rst | 6 ++++++ doc/solita.jenkins.rst | 2 +- tasks/jobs.yml | 20 ++++++++++---------- tasks/main.yml | 14 ++++++++------ 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9faa7b0..36314fb 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog ========= +-------------------------- +Version 1.0.2 (2016-07-03) +-------------------------- + +- Fix issues with ``become_user: jenkins`` on Ansible 2.1. + -------------------------- Version 1.0.1 (2016-07-01) -------------------------- diff --git a/doc/solita.jenkins.rst b/doc/solita.jenkins.rst index 2cf94d7..6e1c9d2 100644 --- a/doc/solita.jenkins.rst +++ b/doc/solita.jenkins.rst @@ -69,7 +69,7 @@ You can install this role and its dependencies with ansible-galaxy_. First add t # requirements.yml --- - src: https://github.com/solita/ansible-role-solita.jenkins.git - version: v1.0.1 + version: v1.0.2 name: solita.jenkins .. highlight:: sh diff --git a/tasks/jobs.yml b/tasks/jobs.yml index add9650..2c17ce4 100644 --- a/tasks/jobs.yml +++ b/tasks/jobs.yml @@ -23,20 +23,20 @@ scripts: "{{ find_local_scripts.files | map(attribute='path') | map('relpath', solita_jenkins_jobs_dir) | list }}" - name: Create directories for the Job DSL scripts - become: yes - become_user: jenkins file: path: "{{ solita_jenkins_job_dsl_workspace }}/{{ item }}" state: directory + owner: jenkins + group: jenkins with_items: - "{{ scripts | map('dirname') | unique | list }}" - name: Copy the Job DSL scripts to the job-dsl workspace - become: yes - become_user: jenkins copy: src: "{{ solita_jenkins_jobs_dir }}/{{ item }}" dest: "{{ solita_jenkins_job_dsl_workspace }}/{{ item }}" + owner: jenkins + group: jenkins with_items: "{{ scripts }}" register: copy_scripts @@ -54,30 +54,30 @@ templates: "{{ find_local_templates.files | map(attribute='path') | map('relpath', solita_jenkins_jobs_dir) | list }}" - name: Create directories for the Job DSL script templates - become: yes - become_user: jenkins file: path: "{{ solita_jenkins_job_dsl_workspace }}/{{ item }}" state: directory + owner: jenkins + group: jenkins with_items: - "{{ templates | map('dirname') | unique | list }}" - name: Copy the Job DSL script templates to the job-dsl workspace - become: yes - become_user: jenkins template: src: "{{ solita_jenkins_jobs_dir }}/{{ item }}" dest: "{{ solita_jenkins_job_dsl_workspace }}/{{ item | regex_replace('\\.j2$', '') }}" + owner: jenkins + group: jenkins with_items: - "{{ templates }}" register: copy_templates - name: Remove old Job DSL scripts - become: yes - become_user: jenkins file: path: "{{ solita_jenkins_job_dsl_workspace }}/{{ item }}" state: absent + owner: jenkins + group: jenkins with_items: "{{ old_scripts | difference(scripts) | difference(templates | map('regex_replace', '\\.j2$', '') | list) }}" register: remove_old_scripts diff --git a/tasks/main.yml b/tasks/main.yml index 00e81d2..0a17a87 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -7,22 +7,24 @@ - include: plugins.yml - name: copy job-dsl-config.xml to destination - become: yes - become_user: jenkins - copy: src={{ role_path }}/files/job-dsl-config.xml dest=/var/lib/jenkins/job-dsl-config.xml + copy: + src: "{{ role_path }}/files/job-dsl-config.xml" + dest: /var/lib/jenkins/job-dsl-config.xml + owner: jenkins + group: jenkins - name: Create the job-dsl job - shell: java -jar {{ jenkins_jar_location }} -s '{{ solita_jenkins_url }}' create-job job-dsl < '/var/lib/jenkins/job-dsl-config.xml' + shell: java -jar '{{ jenkins_jar_location }}' -s '{{ solita_jenkins_url }}' create-job job-dsl <'/var/lib/jenkins/job-dsl-config.xml' args: creates: /var/lib/jenkins/jobs/job-dsl/config.xml register: create_job_dsl_job - name: Update the job-dsl job configuration - become: yes - become_user: jenkins copy: src: job-dsl-config.xml dest: /var/lib/jenkins/jobs/job-dsl/config.xml + owner: jenkins + group: jenkins register: update_job_dsl_job - name: Reload the job-dsl job