Refactor service deployment + upload Compose files to the server #178
24
roles/docker/tasks/loop.yml
Normal file
24
roles/docker/tasks/loop.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
# vim: ft=yaml.ansible
|
||||
---
|
||||
- name: Create volume folder
|
||||
file:
|
||||
name: "{{ service.vars.volume_folder }}"
|
||||
state: directory
|
||||
|
||||
- name: Upload Compose file
|
||||
template:
|
||||
src: compose-files/{{ service.name }}.yml.j2
|
||||
dest: "{{ service.vars.volume_folder }}/docker-compose.yml"
|
||||
|
||||
- name: Run pre-deployment tasks
|
||||
include_tasks: pre_deploy/{{ service.name }}.yml
|
||||
when: service.vars.pre_deploy_tasks is defined and service.vars.pre_deploy_tasks
|
||||
|
||||
- name: Deploy Compose stack
|
||||
command: docker compose up -d --remove-orphans --pull always
|
||||
args:
|
||||
chdir: "{{ service.vars.volume_folder }}"
|
||||
|
||||
- name: Run post-deployment tasks
|
||||
include_tasks: post_deploy/{{ service.name }}.yml
|
||||
when: service.vars.post_deploy_tasks is defined and service.vars.post_deploy_tasks
|
|
@ -5,35 +5,14 @@
|
|||
name: external_services
|
||||
|
||||
- name: Service block for all services
|
||||
include_tasks:
|
||||
file: loop.yml
|
||||
vars:
|
||||
service: "{{ item }}"
|
||||
loop: "{{ services | dict2items(key_name='name', value_name='vars') }}"
|
||||
loop_control:
|
||||
loop_var: service
|
||||
when: single_service is not defined and
|
||||
(service.vars.disabled_in_vagrant is not defined or
|
||||
not (service.vars.disabled_in_vagrant and vagrant))
|
||||
block:
|
||||
- name: Create volume folder
|
||||
file:
|
||||
name: "{{ service.vars.volume_folder }}"
|
||||
state: directory
|
||||
|
||||
- name: Upload Compose file
|
||||
template:
|
||||
src: compose-files/{{ service.name }}.yml.j2
|
||||
dest: "{{ service.vars.volume_folder }}/docker-compose.yml"
|
||||
|
||||
- name: Run pre-deployment tasks
|
||||
include_tasks: pre_deploy/{{ service.name }}.yml
|
||||
when: service.vars.pre_deploy_tasks is defined and service.vars.pre_deploy_tasks
|
||||
|
||||
- name: Deploy Compose stack
|
||||
command: docker compose up -d --remove-orphans --pull always
|
||||
args:
|
||||
chdir: "{{ service.vars.volume_folder }}"
|
||||
|
||||
- name: Run post-deployment tasks
|
||||
include_tasks: post_deploy/{{ service.name }}.yml
|
||||
when: service.vars.post_deploy_tasks is defined and service.vars.post_deploy_tasks
|
||||
(item.vars.disabled_in_vagrant is not defined or
|
||||
not (item.vars.disabled_in_vagrant and vagrant))
|
||||
|
||||
- name: Service block for a single service
|
||||
when: single_service is defined and single_service in services and
|
||||
|
|
Loading…
Reference in a new issue