]> git.immae.eu Git - github/fretlink/ansible-clever.git/blob - tasks/deploy.yml
Merge pull request #15 from paulrbr-fl/fix-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 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
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