fix(ansible): make long running tasks asynchronous (#42)

This commit is contained in:
Stephan Lüscher 2024-05-11 17:23:27 +00:00
parent b27332d148
commit ba1eb2bc79
No known key found for this signature in database
GPG key ID: 445779060FF3D3CF
2 changed files with 32 additions and 5 deletions

View file

@ -22,8 +22,20 @@
dest: "{{ forge_registry_url }}"
vars:
__regex_search: (?<=/)[^/]+(?=\.git)
register: __podman_image_info
async: 1800
poll: 0
register: __podman_image
- name: Waiting for container build to finish
ansible.builtin.async_status:
jid: "{{ __podman_image.ansible_job_id }}"
register: __job_result
until: __job_result.finished
retries: 1800
delay: 1
- name: INFO | Status from build and push
ansible.builtin.debug:
msg: "{{ __podman_image_info }}"
msg:
- "{{ __job_result.actions | to_nice_yaml(indent=2) }}"
- "{{ __job_result.image | to_nice_yaml(indent=2) }}"

View file

@ -7,13 +7,28 @@
ansible.builtin.include_role:
name: debug_forge_vars
tasks:
- name: Clone project
- name: Git clone project
ansible.builtin.git:
repo: "{{ forge_git_repository_url }}"
dest: "{{ forge_git_repository_destination }}"
version: "{{ forge_git_repository_version }}"
register: __git_clone_info
async: 180
poll: 0
register: __git_clone
- name: Waiting for git clone to finish
ansible.builtin.async_status:
jid: "{{ __git_clone.ansible_job_id }}"
register: __job_result
until: __job_result.finished
retries: 180
delay: 1
- name: INFO | Status from git clone
ansible.builtin.debug:
msg: "{{ __git_clone_info }}"
msg:
- "Source: {{ forge_git_repository_url }}"
- "Destination: {{ forge_git_repository_destination }}"
- "Version: {{ forge_git_repository_version }}"
- "Commit revision before the repository was updated: {{ __job_result.before }}"
- "Last commit revision of the repository retrieved during the update: {{ __job_result.after }}"