diff options
Diffstat (limited to 'tasks/manage-docker-compose-service.yml')
-rw-r--r-- | tasks/manage-docker-compose-service.yml | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tasks/manage-docker-compose-service.yml b/tasks/manage-docker-compose-service.yml new file mode 100644 index 0000000..793d2ac --- /dev/null +++ b/tasks/manage-docker-compose-service.yml @@ -0,0 +1,23 @@ +--- + +- name: "Copy rendered templates for {{ service_name }}" + ansible.builtin.import_tasks: copy-rendered-templates-recursive.yml + vars: + render_dir: "{{ template_render_dir }}" + destination_dir: "{{ service_destination_dir }}" + +- name: "Ensure {{ service_name }} service is enabled and started" + ansible.builtin.systemd_service: + state: "{{ state | default('restarted') }}" + enabled: true + daemon_reload: true + name: "docker-compose@{{ service_name }}" + +- name: "Perform rollout for {{ service_name }}" + with_items: "{{ rollout_services | default([]) }}" + ansible.builtin.shell: + cmd: "/usr/local/bin/docker-rollout rollout -f docker-compose.yml {{ item.rollout_extra_args | default('') }} {{ item.name }}" + chdir: "{{ service_destination_dir }}" + register: rollout_result + changed_when: "'Waiting for new containers to be healthy' in rollout_result.stdout" + failed_when: rollout_result.rc != 0 or 'Rolling back.' in rollout_result.stdout |