]>
Commit | Line | Data |
---|---|---|
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 | ||
1c139365 CD |
19 | - name: Configure Build Instance |
20 | when: clever_build_flavor is defined | |
b1536bd4 | 21 | command: "clever scale --build-flavor {{ clever_build_flavor }}" |
1c139365 CD |
22 | args: |
23 | chdir: "{{ clever_app_root }}" | |
24 | environment: | |
1c139365 CD |
25 | CONFIGURATION_FILE: "{{ clever_login_file }}" |
26 | ||
96f02eb1 CD |
27 | - name: Configure Scalability |
28 | when: clever_scaling is defined | |
29 | command: "{{ ansible_env.HOME }}/{{ clever_user_path }}/clever-set-scalability.sh" | |
30 | args: | |
31 | chdir: "{{ clever_app_root }}" | |
32 | environment: | |
33 | CONFIGURATION_FILE: "{{ clever_login_file }}" | |
34 | INSTANCES: "{{ clever_scaling.instances.fixed | default ('') }}" | |
35 | MIN_INSTANCES: "{{ clever_scaling.instances.min | default('') }}" | |
36 | MAX_INSTANCES: "{{ clever_scaling.instances.max | default('') }}" | |
37 | FLAVOR: "{{ clever_scaling.flavor.fixed | default('') }}" | |
38 | MIN_FLAVOR: "{{ clever_scaling.flavor.min | default('') }}" | |
39 | MAX_FLAVOR: "{{ clever_scaling.flavor.max | default('') }}" | |
40 | ||
f7dd5848 | 41 | - name: Push Environment |
244339e7 | 42 | shell: "clever env import --json < {{ clever_app_confdir }}/env" |
1dc8c620 PB |
43 | args: |
44 | chdir: "{{ clever_app_root }}" | |
f7dd5848 GD |
45 | environment: |
46 | CONFIGURATION_FILE: "{{ clever_login_file }}" | |
7485b189 | 47 | changed_when: false |
f7dd5848 | 48 | |
c5aed75a | 49 | - name: Deploy to Clever-Cloud |
b89d0540 | 50 | shell: "clever deploy --force" |
e9b912b4 PB |
51 | args: |
52 | chdir: "{{ clever_app_root }}" | |
53 | environment: | |
54 | CONFIGURATION_FILE: "{{ clever_login_file }}" | |
fa045db6 PB |
55 | async: 2400 # 40 minutes |
56 | poll: 0 | |
b89d0540 PB |
57 | ignore_errors: true |
58 | register: clever_deploy | |
59 | tags: | |
60 | - skip_ansible_lint | |
e9b912b4 | 61 | |
b89d0540 | 62 | - name: Wait up to 40 minutes for deployment completion |
fa045db6 | 63 | async_status: |
b89d0540 | 64 | jid: "{{ clever_deploy.ansible_job_id }}" |
fa045db6 PB |
65 | register: job_result |
66 | until: job_result.finished | |
5da7f0d8 | 67 | ignore_errors: true |
fa045db6 PB |
68 | delay: 30 |
69 | retries: 80 # 40 minutes (80 * 30 secs delay) | |
e9b912b4 | 70 | |
b89d0540 PB |
71 | ################################################################## |
72 | # Re-deploy only if its the first clever deploy for that project # | |
73 | ################################################################## | |
74 | ||
75 | - name: Retry deploy to clever-cloud | |
76 | include_tasks: redeploy.yml | |
77 | when: | |
c47b6b55 | 78 | - not job_result.finished or not job_result.rc == 0 |
b89d0540 PB |
79 | - job_result.stderr is defined |
80 | - job_result.stderr is search("Failed to read git object") | |
81 | ||
82 | - name: Deploy logs (stdout) | |
fa045db6 PB |
83 | debug: |
84 | var: job_result.stdout_lines | |
5da7f0d8 PB |
85 | when: job_result.stdout_lines is defined |
86 | ||
b89d0540 | 87 | - name: Deploy error logs (stderr) |
5da7f0d8 PB |
88 | debug: |
89 | var: job_result.stderr_lines | |
90 | when: job_result.stderr_lines is defined | |
91 | ||
92 | - name: Fail in case of timeout or failure | |
93 | fail: | |
94 | msg: "Deployment failed. Please check logs above." | |
95 | when: not job_result.finished or not job_result.rc == 0 |