55 lines
1.3 KiB
YAML
55 lines
1.3 KiB
YAML
|
- name: Deploy Application
|
||
|
hosts: web
|
||
|
remote_user: root
|
||
|
pre_tasks:
|
||
|
- name: "Assert project_name is provided and not empty"
|
||
|
assert:
|
||
|
that:
|
||
|
- project_name is not undefined and project_name != ""
|
||
|
tasks:
|
||
|
|
||
|
## Login
|
||
|
- name: Login to registry
|
||
|
docker_login:
|
||
|
registry_url: "{{ registry_url }}"
|
||
|
username: "{{ registry_username }}"
|
||
|
password: "{{ registry_password }}"
|
||
|
reauthorize: true
|
||
|
|
||
|
# Deploy image
|
||
|
- name: Create config directory
|
||
|
file:
|
||
|
path: "{{ config_dir }}" # /etc/app-x-y
|
||
|
state: directory
|
||
|
recurse: yes
|
||
|
|
||
|
- name: Create .env file
|
||
|
file:
|
||
|
state: touch
|
||
|
path: "{{ config_dir }}/.env"
|
||
|
mode: '0600'
|
||
|
|
||
|
- name: Create .env.local file
|
||
|
file:
|
||
|
state: touch
|
||
|
path: "{{ config_dir }}/.env.local"
|
||
|
mode: '0600'
|
||
|
|
||
|
- name: Execute docker-compose
|
||
|
shell: cd "{{ config_dir }}" && docker-compose down
|
||
|
ignore_errors: true
|
||
|
|
||
|
- name: "Upload docker-compose template" # fills the tempalte with variables from ansile
|
||
|
template:
|
||
|
src: "templates/docker-compose-web.yml"
|
||
|
dest: "{{ config_dir }}/docker-compose.yml"
|
||
|
|
||
|
- name: Execute docker-compose
|
||
|
shell: cd "{{ config_dir }}" && docker-compose up -d
|
||
|
|
||
|
- name: Create log file
|
||
|
file:
|
||
|
path: "/var/log/{{ project_name }}"
|
||
|
state: directory
|
||
|
recurse: yes
|