mirror of
https://github.com/ansible/awx.git
synced 2026-01-29 15:24:42 -03:30
52 lines
2.1 KiB
YAML
52 lines
2.1 KiB
YAML
---
|
|
|
|
# The following variables will be set by the runner of this playbook:
|
|
# project_path: PROJECTS_DIR/_local_path_
|
|
# scm_type: git|hg|svn
|
|
# scm_url: https://server/repo
|
|
# scm_branch: HEAD
|
|
# scm_clean: true/false
|
|
# scm_delete_on_update: true/false
|
|
# scm_username: username (only for svn)
|
|
# scm_password: password (only for svn)
|
|
# scm_accept_hostkey: true/false (only for git)
|
|
|
|
- hosts: all
|
|
connection: local
|
|
gather_facts: false
|
|
tasks:
|
|
|
|
- name: delete project directory before update
|
|
file: path={{project_path|quote}} state=absent
|
|
when: scm_delete_on_update|default('')
|
|
|
|
- name: update project using git and accept hostkey
|
|
git: dest={{project_path|quote}} repo={{scm_url|quote}} version={{scm_branch|quote}} force={{scm_clean}} accept_hostkey={{scm_accept_hostkey}}
|
|
when: scm_type == 'git' and scm_accept_hostkey is defined
|
|
|
|
- name: update project using git
|
|
git: dest={{project_path|quote}} repo={{scm_url|quote}} version={{scm_branch|quote}} force={{scm_clean}}
|
|
when: scm_type == 'git' and scm_accept_hostkey is not defined
|
|
|
|
- name: update project using hg
|
|
hg: dest={{project_path|quote}} repo={{scm_url|quote}} revision={{scm_branch|quote}} force={{scm_clean}}
|
|
when: scm_type == 'hg'
|
|
|
|
- name: update project using svn
|
|
subversion: dest={{project_path|quote}} repo={{scm_url|quote}} revision={{scm_branch|quote}} force={{scm_clean}}
|
|
when: scm_type == 'svn' and not scm_username|default('')
|
|
|
|
- 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_type == 'svn' and scm_username|default('')
|
|
|
|
- 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
|