]>
Commit | Line | Data |
---|---|---|
1 | - name: Configure Drain | |
2 | when: syslog_server is defined or clever_syslog_server is defined | |
3 | command: clever-set-drain.sh | |
4 | environment: | |
5 | SYSLOG_UDP_SERVER: "{{ clever_syslog_server | default(syslog_server) }}" | |
6 | CONFIGURATION_FILE: "{{ clever_login_file }}" | |
7 | ||
8 | - name: Configure Domain | |
9 | when: domain is defined or clever_domain is defined | |
10 | command: clever-set-domain.sh | |
11 | environment: | |
12 | DOMAIN: "{{ clever_domain | default(domain) }}" | |
13 | CONFIGURATION_FILE: "{{ clever_login_file }}" | |
14 | ||
15 | - name: Push Environment | |
16 | shell: "clever env import < {{ clever_app_confdir }}/env" | |
17 | environment: | |
18 | CONFIGURATION_FILE: "{{ clever_login_file }}" | |
19 | changed_when: false | |
20 | ||
21 | #TODO: Improve ssh-key validation | |
22 | - name: Accept Clever-Cloud servers | |
23 | shell: "ssh-keyscan -H push-par-clevercloud-customers.services.clever-cloud.com >> ~/.ssh/known_hosts" | |
24 | tags: | |
25 | - skip_ansible_lint | |
26 | ||
27 | - name: Push to Clever-Cloud to trigger deployment | |
28 | command: "git push --force git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/{{ clever_app }}.git HEAD:refs/heads/master" | |
29 | args: | |
30 | chdir: "{{ clever_app_root }}" | |
31 | register: clever_git_push | |
32 | ignore_errors: true | |
33 | tags: | |
34 | - skip_ansible_lint | |
35 | ||
36 | - name: First time push to Clever-Cloud needs a full git clone | |
37 | command: "git fetch --unshallow" | |
38 | args: | |
39 | chdir: "{{ clever_app_root }}" | |
40 | when: | |
41 | - clever_git_push is failed | |
42 | - clever_git_push.stderr is search("shallow update not allowed") | |
43 | tags: | |
44 | - skip_ansible_lint | |
45 | ||
46 | - name: Push to Clever-Cloud to trigger deployment | |
47 | command: "git push --force git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/{{ clever_app }}.git HEAD:refs/heads/master" | |
48 | args: | |
49 | chdir: "{{ clever_app_root }}" | |
50 | when: clever_git_push is failed | |
51 | tags: | |
52 | - skip_ansible_lint | |
53 | ||
54 | - name: Watch deployment status | |
55 | command: "clever-wait-deploy.sh '{{ clever_app_root }}'" | |
56 | async: 900 | |
57 | poll: 0 | |
58 | register: long_command | |
59 | environment: | |
60 | CONFIGURATION_FILE: "{{ clever_login_file }}" | |
61 | changed_when: False | |
62 | ||
63 | # Waits up to 15 minutes | |
64 | - name: Wait for deployment completion | |
65 | async_status: | |
66 | jid: "{{ long_command.ansible_job_id }}" | |
67 | register: job_result | |
68 | until: job_result.finished | |
69 | delay: 30 | |
70 | retries: 30 |