From 1285e8ffef6f95be134db22ca88b235e1e5bf1dd Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Oct 2017 16:58:41 -0400 Subject: [PATCH] Add blocks around the different SCMs, for clarity purposes. --- awx/playbooks/project_update.yml | 184 +++++++++++++++---------------- 1 file changed, 89 insertions(+), 95 deletions(-) diff --git a/awx/playbooks/project_update.yml b/awx/playbooks/project_update.yml index 20c84b6664..6e1ff0b947 100644 --- a/awx/playbooks/project_update.yml +++ b/awx/playbooks/project_update.yml @@ -23,88 +23,91 @@ state: absent when: scm_delete_on_update|default('') - - name: update project using git and accept hostkey - git: - dest: "{{project_path|quote}}" - repo: "{{scm_url}}" - version: "{{scm_branch|quote}}" - force: "{{scm_clean}}" - accept_hostkey: "{{scm_accept_hostkey}}" - #clone: "{{ scm_full_checkout }}" - #update: "{{ scm_full_checkout }}" - when: scm_type == 'git' and scm_accept_hostkey is defined - register: scm_result + - block: + - name: update project using git and accept hostkey + git: + dest: "{{project_path|quote}}" + repo: "{{scm_url}}" + version: "{{scm_branch|quote}}" + force: "{{scm_clean}}" + accept_hostkey: "{{scm_accept_hostkey}}" + when: scm_accept_hostkey is defined + register: scm_result - - name: Set the git repository version - set_fact: - scm_version: "{{ scm_result['after'] }}" - when: "'after' in scm_result" + - name: Set the git repository version + set_fact: + scm_version: "{{ scm_result['after'] }}" + when: "'after' in scm_result" - - name: update project using git - git: - dest: "{{project_path|quote}}" - repo: "{{scm_url}}" - version: "{{scm_branch|quote}}" - force: "{{scm_clean}}" - #clone: "{{ scm_full_checkout }}" - #update: "{{ scm_full_checkout }}" - when: scm_type == 'git' and scm_accept_hostkey is not defined - register: scm_result + - name: update project using git + git: + dest: "{{project_path|quote}}" + repo: "{{scm_url}}" + version: "{{scm_branch|quote}}" + force: "{{scm_clean}}" + when: scm_accept_hostkey is not defined + register: scm_result - - name: Set the git repository version - set_fact: - scm_version: "{{ scm_result['after'] }}" - when: "'after' in scm_result" + - name: Set the git repository version + set_fact: + scm_version: "{{ scm_result['after'] }}" + when: "'after' in scm_result" + when: scm_type == 'git' - - name: update project using hg - hg: - dest: "{{project_path|quote}}" - repo: "{{scm_url|quote}}" - revision: "{{scm_branch|quote}}" - force: "{{scm_clean}}" - #clone: "{{ scm_full_checkout }}" - #update: "{{ scm_full_checkout }}" + - block: + - name: update project using hg + hg: + dest: "{{project_path|quote}}" + repo: "{{scm_url|quote}}" + revision: "{{scm_branch|quote}}" + force: "{{scm_clean}}" + register: scm_result + + - name: Set the hg repository version + set_fact: + scm_version: "{{ scm_result['after'] }}" + when: "'after' in scm_result" + + - name: parse hg version string properly + set_fact: + scm_version: "{{scm_version|regex_replace('^([A-Za-z0-9]+).*$', '\\1')}}" when: scm_type == 'hg' - register: scm_result - - name: Set the hg repository version - set_fact: - scm_version: "{{ scm_result['after'] }}" - when: "'after' in scm_result" + - block: + - name: update project using svn + subversion: + dest: "{{project_path|quote}}" + repo: "{{scm_url|quote}}" + revision: "{{scm_branch|quote}}" + force: "{{scm_clean}}" + when: not scm_username|default('') + register: scm_result - - name: update project using svn - subversion: - dest: "{{project_path|quote}}" - repo: "{{scm_url|quote}}" - revision: "{{scm_branch|quote}}" - force: "{{scm_clean}}" - #checkout: "{{ scm_full_checkout }}" - #update: "{{ scm_full_checkout }}" - when: scm_type == 'svn' and not scm_username|default('') - register: scm_result + - name: Set the svn repository version + set_fact: + scm_version: "{{ scm_result['after'] }}" + when: "'after' in scm_result" - - name: Set the svn repository version - set_fact: - scm_version: "{{ scm_result['after'] }}" - when: "'after' in scm_result" + - name: update project using svn with auth + subversion: + dest: "{{project_path|quote}}" + repo: "{{scm_url|quote}}" + revision: "{{scm_branch|quote}}" + force: "{{scm_clean}}" + username: "{{scm_username|quote}}" + password: "{{scm_password|quote}}" + when: scm_username|default('') + register: scm_result - - name: update project using svn with auth - subversion: - dest: "{{project_path|quote}}" - repo: "{{scm_url|quote}}" - revision: "{{scm_branch|quote}}" - force: "{{scm_clean}}" - username: "{{scm_username|quote}}" - password: "{{scm_password|quote}}" - #checkout: "{{ scm_full_checkout }}" - #update: "{{ scm_full_checkout }}" - when: scm_type == 'svn' and scm_username|default('') - register: scm_result + - name: Set the svn repository version + set_fact: + scm_version: "{{ scm_result['after'] }}" + when: "'after' in scm_result" - - name: Set the svn repository version - set_fact: - scm_version: "{{ scm_result['after'] }}" - when: "'after' in scm_result" + - name: parse subversion version string properly + set_fact: + scm_version: "{{scm_version|regex_replace('^.*Revision: ([0-9]+).*$', '\\1')}}" + when: scm_type == 'svn' - block: - name: Ensure the project directory is present @@ -120,33 +123,24 @@ project_path: "{{project_path}}" register: results + - name: Save Insights Version + set_fact: + scm_version: "{{results.version}}" + when: results is defined when: scm_type == 'insights' - - name: Save Insights Version - set_fact: - scm_version: "{{results.version}}" - when: scm_type == 'insights' and results is defined - - name: detect requirements.yml - stat: path={{project_path|quote}}/roles/requirements.yml - register: doesRequirementsExist + - block: + - name: detect requirements.yml + stat: path={{project_path|quote}}/roles/requirements.yml + register: doesRequirementsExist - - name: fetch galaxy roles from requirements.yml - command: ansible-galaxy install -r requirements.yml -p {{project_path|quote}}/roles/ --force - args: - chdir: "{{project_path|quote}}/roles" - when: doesRequirementsExist.stat.exists and scm_full_checkout|bool - - # format provided by ansible is ["Revision: 12345", "URL: ..."] - - name: parse subversion version string properly - set_fact: - scm_version: "{{scm_version|regex_replace('^.*Revision: ([0-9]+).*$', '\\1')}}" - when: scm_type == 'svn' - - - name: parse hg version string properly - set_fact: - scm_version: "{{scm_version|regex_replace('^([A-Za-z0-9]+).*$', '\\1')}}" - when: scm_type == 'hg' + - name: fetch galaxy roles from requirements.yml + command: ansible-galaxy install -r requirements.yml -p {{project_path|quote}}/roles/ --force + args: + chdir: "{{project_path|quote}}/roles" + when: doesRequirementsExist.stat.exists + when: scm_full_checkout|bool - name: Repository Version debug: msg="Repository Version {{ scm_version }}"