Files
dc-deployments-automation/roles/jira_download/tasks/main.yml
2019-04-17 14:20:10 +10:00

58 lines
1.9 KiB
YAML

---
- name: Fetch and cache latest version when no override
get_url:
url: "{{ atl_product_latest_version_url }}"
dest: "{{ atl_product_version_cache }}"
force: false
when: atl_product_version is undefined or atl_product_version == "latest"
- name: Write override cached version when specified
template:
src: version.j2
dest: "{{ atl_product_version_cache }}"
force: false
when: atl_product_version is defined and atl_product_version != "latest"
- name: Use version for product version
command: "cat {{ atl_product_version_cache }}"
register: atl_product_version_file
changed_when: false
# Note: We don't cache this in the shared drive to the complexity
# around download race-conditions if multiple nodes are starting at
# the same time. When downloading from product-downloads.atlassian.com
# (which is a CDN) takes seconds anyway.
- name: Fetch product installer
get_url:
url: "{{ atl_product_download_url }}"
dest: "{{ atl_product_download }}"
mode: 0644
force: false
- name: Create target version directory
file:
path: "{{ atl_product_installation_base }}/{{ atl_product_version_file.stdout }}"
state: directory
owner: "{{ atl_product_user }}"
- name: Unpack the product packages
unarchive:
remote_src: true
src: "{{ atl_product_download }}"
dest: "{{ atl_product_installation_base }}/{{ atl_product_version_file.stdout }}"
creates: "{{ atl_product_installation_base }}/{{ atl_product_version_file.stdout }}"
owner: "{{ atl_product_user }}"
group: "{{ atl_product_user }}"
mode: 0755
# Strip off the lead product/version specific directory to normaise naming
extra_opts:
- "--strip-components=1"
- name: Symlink the installed version to current
file:
src: "{{ atl_product_installation_base }}/{{ atl_product_version_file.stdout }}"
dest: "{{ atl_product_installation_target }}"
state: link
force: true