Refactor service deployment + upload Compose files to the server #178

Merged
samsapti merged 24 commits from compose-files into main 2023-12-09 18:38:11 +00:00
2 changed files with 8 additions and 27 deletions
Showing only changes of commit 3ac2d83971 - Show all commits

View file

@ -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