]> git.immae.eu Git - github/fretlink/ansible-clever.git/blob - tasks/deploy.yml
deploy_task: Update clever CLI tools and use it instead of git push
[github/fretlink/ansible-clever.git] / tasks / deploy.yml
1 - name: Configure Drain
2 when: syslog_server is defined or clever_syslog_server is defined
3 command: clever-set-drain.sh
4 args:
5 chdir: "{{ clever_app_root }}"
6 environment:
7 SYSLOG_UDP_SERVER: "{{ clever_syslog_server | default(syslog_server) }}"
8 CONFIGURATION_FILE: "{{ clever_login_file }}"
9
10 - name: Configure Domain
11 when: domain is defined or clever_domain is defined
12 command: clever-set-domain.sh
13 args:
14 chdir: "{{ clever_app_root }}"
15 environment:
16 DOMAIN: "{{ clever_domain | default(domain) }}"
17 CONFIGURATION_FILE: "{{ clever_login_file }}"
18
19 - name: Push Environment
20 shell: "clever env import < {{ clever_app_confdir }}/env"
21 args:
22 chdir: "{{ clever_app_root }}"
23 environment:
24 CONFIGURATION_FILE: "{{ clever_login_file }}"
25 changed_when: false
26
27 #TODO: Improve ssh-key validation
28 - name: Accept Clever-Cloud servers
29 shell: "ssh-keyscan -H push-par-clevercloud-customers.services.clever-cloud.com >> ~/.ssh/known_hosts"
30 tags:
31 - skip_ansible_lint
32
33 - name: Deploy to Clever-Cloud
34 shell: "clever deploy --force"
35 args:
36 chdir: "{{ clever_app_root }}"
37 environment:
38 CONFIGURATION_FILE: "{{ clever_login_file }}"
39 register: clever_deploy
40 async: 900 # 15 minutes timeout
41 poll: 30
42 ignore_errors: true
43 tags:
44 - skip_ansible_lint
45
46 - name: First time push to Clever-Cloud needs a full git clone
47 command: "git fetch --unshallow"
48 args:
49 chdir: "{{ clever_app_root }}"
50 when:
51 - clever_deploy is failed
52 - clever_deploy.stderr is defined
53 - clever_deploy.stderr is search("Failed to read git object")
54 tags:
55 - skip_ansible_lint
56
57 - name: Deploy to Clever-Cloud
58 shell: "clever deploy --force"
59 args:
60 chdir: "{{ clever_app_root }}"
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
68 tags:
69 - skip_ansible_lint
70
71 - name: Return deployment logs
72 debug:
73 var: clever_deploy.stdout
74 when: clever_deploy.stdout is defined
75
76 - name: Return deployment errors
77 debug:
78 var: clever_deploy.stderr
79 when:
80 - clever_deploy is failed
81 - clever_deploy.stderr is defined
82
83 - name: Fail on deployment errors
84 fail: "The clever deployment failed! Please check logs above."
85 when: clever_deploy is failed