aboutsummaryrefslogtreecommitdiffhomepage
path: root/tasks
diff options
context:
space:
mode:
authorPaul Bonaud <paul.bonaud@fretlink.com>2018-11-21 13:20:56 +0100
committerPaul Bonaud <paul.bonaud@fretlink.com>2019-01-14 11:25:32 +0100
commitc5aed75a0e5732aa6031ce3b1864d5aee3e1b49e (patch)
tree7aa4f743a3938f00c8a7fe5e7c457e01826a9029 /tasks
parentae84364c02907d17867f2a47cf409ad0a2172af5 (diff)
downloadansible-clever-c5aed75a0e5732aa6031ce3b1864d5aee3e1b49e.tar.gz
ansible-clever-c5aed75a0e5732aa6031ce3b1864d5aee3e1b49e.tar.zst
ansible-clever-c5aed75a0e5732aa6031ce3b1864d5aee3e1b49e.zip
deploy_task: Update clever CLI tools and use it instead of git push
Updating to latest version of 1.1.1 helps to have a stable `clever deploy` command. This commit relies on the output of the command instead of manually pooling the results with `clever activity` command.
Diffstat (limited to 'tasks')
-rw-r--r--tasks/deploy.yml59
-rw-r--r--tasks/setup.yml1
2 files changed, 33 insertions, 27 deletions
diff --git a/tasks/deploy.yml b/tasks/deploy.yml
index ae7e5f6..09cf10e 100644
--- a/tasks/deploy.yml
+++ b/tasks/deploy.yml
@@ -30,11 +30,15 @@
30 tags: 30 tags:
31 - skip_ansible_lint 31 - skip_ansible_lint
32 32
33- name: Push to Clever-Cloud to trigger deployment 33- name: Deploy to Clever-Cloud
34 command: "git push --force git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/{{ clever_app }}.git HEAD:refs/heads/master" 34 shell: "clever deploy --force"
35 args: 35 args:
36 chdir: "{{ clever_app_root }}" 36 chdir: "{{ clever_app_root }}"
37 register: clever_git_push 37 environment:
38 CONFIGURATION_FILE: "{{ clever_login_file }}"
39 register: clever_deploy
40 async: 900 # 15 minutes timeout
41 poll: 30
38 ignore_errors: true 42 ignore_errors: true
39 tags: 43 tags:
40 - skip_ansible_lint 44 - skip_ansible_lint
@@ -44,35 +48,38 @@
44 args: 48 args:
45 chdir: "{{ clever_app_root }}" 49 chdir: "{{ clever_app_root }}"
46 when: 50 when:
47 - clever_git_push is failed 51 - clever_deploy is failed
48 - clever_git_push.stderr is search("shallow update not allowed") 52 - clever_deploy.stderr is defined
53 - clever_deploy.stderr is search("Failed to read git object")
49 tags: 54 tags:
50 - skip_ansible_lint 55 - skip_ansible_lint
51 56
52- name: Push to Clever-Cloud to trigger deployment 57- name: Deploy to Clever-Cloud
53 command: "git push --force git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/{{ clever_app }}.git HEAD:refs/heads/master" 58 shell: "clever deploy --force"
54 args: 59 args:
55 chdir: "{{ clever_app_root }}" 60 chdir: "{{ clever_app_root }}"
56 when: clever_git_push is failed 61 environment:
62 CONFIGURATION_FILE: "{{ clever_login_file }}"
63 when: clever_deploy is failed
64 register: clever_deploy
65 async: 900 # 15 minutes timeout
66 poll: 30
67 ignore_errors: true
57 tags: 68 tags:
58 - skip_ansible_lint 69 - skip_ansible_lint
59 70
60- name: Watch deployment status 71- name: Return deployment logs
61 command: "clever-wait-deploy.sh" 72 debug:
62 args: 73 var: clever_deploy.stdout
63 chdir: "{{ clever_app_root }}" 74 when: clever_deploy.stdout is defined
64 async: 900 75
65 poll: 0 76- name: Return deployment errors
66 register: long_command 77 debug:
67 environment: 78 var: clever_deploy.stderr
68 CONFIGURATION_FILE: "{{ clever_login_file }}" 79 when:
69 changed_when: False 80 - clever_deploy is failed
81 - clever_deploy.stderr is defined
70 82
71# Waits up to 15 minutes 83- name: Fail on deployment errors
72- name: Wait for deployment completion 84 fail: "The clever deployment failed! Please check logs above."
73 async_status: 85 when: clever_deploy is failed
74 jid: "{{ long_command.ansible_job_id }}"
75 register: job_result
76 until: job_result.finished
77 delay: 30
78 retries: 30
diff --git a/tasks/setup.yml b/tasks/setup.yml
index f85a635..33b1ff6 100644
--- a/tasks/setup.yml
+++ b/tasks/setup.yml
@@ -26,4 +26,3 @@
26 with_items: 26 with_items:
27 - clever-set-domain.sh 27 - clever-set-domain.sh
28 - clever-set-drain.sh 28 - clever-set-drain.sh
29 - clever-wait-deploy.sh