1 - name: Configure Drain
2 when: syslog_server is defined or clever_syslog_server is defined
3 command: "{{ ansible_env.HOME }}/{{ clever_user_path }}/clever-set-drain.sh"
5 chdir: "{{ clever_app_root }}"
7 SYSLOG_UDP_SERVER: "{{ clever_syslog_server | default(syslog_server) }}"
8 CONFIGURATION_FILE: "{{ clever_login_file }}"
10 - name: Configure Domain
11 when: domain is defined or clever_domain is defined
12 command: "{{ ansible_env.HOME }}/{{ clever_user_path }}/clever-set-domain.sh"
14 chdir: "{{ clever_app_root }}"
16 DOMAIN: "{{ clever_domain | default(domain) }}"
17 CONFIGURATION_FILE: "{{ clever_login_file }}"
19 - name: Push Environment
20 shell: "clever env import < {{ clever_app_confdir }}/env"
22 chdir: "{{ clever_app_root }}"
24 CONFIGURATION_FILE: "{{ clever_login_file }}"
27 - name: Deploy to Clever-Cloud
28 shell: "clever deploy --force"
30 chdir: "{{ clever_app_root }}"
32 CONFIGURATION_FILE: "{{ clever_login_file }}"
33 async: 2400 # 40 minutes
36 register: clever_deploy
40 - name: Wait up to 40 minutes for deployment completion
42 jid: "{{ clever_deploy.ansible_job_id }}"
44 until: job_result.finished
47 retries: 80 # 40 minutes (80 * 30 secs delay)
49 ##################################################################
50 # Re-deploy only if its the first clever deploy for that project #
51 ##################################################################
53 - name: Retry deploy to clever-cloud
54 include_tasks: redeploy.yml
56 - not job_result.rc == 0
57 - job_result.stderr is defined
58 - job_result.stderr is search("Failed to read git object")
60 - name: Deploy logs (stdout)
62 var: job_result.stdout_lines
63 when: job_result.stdout_lines is defined
65 - name: Deploy error logs (stderr)
67 var: job_result.stderr_lines
68 when: job_result.stderr_lines is defined
70 - name: Fail in case of timeout or failure
72 msg: "Deployment failed. Please check logs above."
73 when: not job_result.finished or not job_result.rc == 0