]> git.immae.eu Git - github/fretlink/ansible-clever.git/blame - tasks/deploy.yml
Use JSON import for environment variables
[github/fretlink/ansible-clever.git] / tasks / deploy.yml
CommitLineData
f7dd5848 1- name: Configure Drain
23c0fc8a 2 when: syslog_server is defined or clever_syslog_server is defined
51b4b3fd 3 command: "{{ ansible_env.HOME }}/{{ clever_user_path }}/clever-set-drain.sh"
1dc8c620
PB
4 args:
5 chdir: "{{ clever_app_root }}"
f7dd5848 6 environment:
23c0fc8a 7 SYSLOG_UDP_SERVER: "{{ clever_syslog_server | default(syslog_server) }}"
f7dd5848
GD
8 CONFIGURATION_FILE: "{{ clever_login_file }}"
9
10- name: Configure Domain
1157a45f 11 when: domain is defined or clever_domain is defined
fee73e81 12 command: "{{ ansible_env.HOME }}/{{ clever_user_path }}/clever-set-domain.sh"
1dc8c620
PB
13 args:
14 chdir: "{{ clever_app_root }}"
f7dd5848 15 environment:
1157a45f 16 DOMAIN: "{{ clever_domain | default(domain) }}"
f7dd5848
GD
17 CONFIGURATION_FILE: "{{ clever_login_file }}"
18
19- name: Push Environment
244339e7 20 shell: "clever env import --json < {{ clever_app_confdir }}/env"
1dc8c620
PB
21 args:
22 chdir: "{{ clever_app_root }}"
f7dd5848
GD
23 environment:
24 CONFIGURATION_FILE: "{{ clever_login_file }}"
7485b189 25 changed_when: false
f7dd5848 26
c5aed75a 27- name: Deploy to Clever-Cloud
b89d0540 28 shell: "clever deploy --force"
e9b912b4
PB
29 args:
30 chdir: "{{ clever_app_root }}"
31 environment:
32 CONFIGURATION_FILE: "{{ clever_login_file }}"
fa045db6
PB
33 async: 2400 # 40 minutes
34 poll: 0
b89d0540
PB
35 ignore_errors: true
36 register: clever_deploy
37 tags:
38 - skip_ansible_lint
e9b912b4 39
b89d0540 40- name: Wait up to 40 minutes for deployment completion
fa045db6 41 async_status:
b89d0540 42 jid: "{{ clever_deploy.ansible_job_id }}"
fa045db6
PB
43 register: job_result
44 until: job_result.finished
5da7f0d8 45 ignore_errors: true
fa045db6
PB
46 delay: 30
47 retries: 80 # 40 minutes (80 * 30 secs delay)
e9b912b4 48
b89d0540
PB
49##################################################################
50# Re-deploy only if its the first clever deploy for that project #
51##################################################################
52
53- name: Retry deploy to clever-cloud
54 include_tasks: redeploy.yml
55 when:
56 - not job_result.rc == 0
57 - job_result.stderr is defined
58 - job_result.stderr is search("Failed to read git object")
59
60- name: Deploy logs (stdout)
fa045db6
PB
61 debug:
62 var: job_result.stdout_lines
5da7f0d8
PB
63 when: job_result.stdout_lines is defined
64
b89d0540 65- name: Deploy error logs (stderr)
5da7f0d8
PB
66 debug:
67 var: job_result.stderr_lines
68 when: job_result.stderr_lines is defined
69
70- name: Fail in case of timeout or failure
71 fail:
72 msg: "Deployment failed. Please check logs above."
73 when: not job_result.finished or not job_result.rc == 0