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