X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tasks%2Fdeploy.yml;h=ae7e5f6471320cda444623e836f3daf6423d94b8;hb=ae84364c02907d17867f2a47cf409ad0a2172af5;hp=10c02c4934f29283c9cdb7a81dda2bc1c10dd4a3;hpb=d282ae808ee247ec7a2f471338fea76c7fd0ea3a;p=github%2Ffretlink%2Fansible-clever.git diff --git a/tasks/deploy.yml b/tasks/deploy.yml index 10c02c4..ae7e5f6 100644 --- a/tasks/deploy.yml +++ b/tasks/deploy.yml @@ -1,6 +1,8 @@ - name: Configure Drain when: syslog_server is defined or clever_syslog_server is defined command: clever-set-drain.sh + args: + chdir: "{{ clever_app_root }}" environment: SYSLOG_UDP_SERVER: "{{ clever_syslog_server | default(syslog_server) }}" CONFIGURATION_FILE: "{{ clever_login_file }}" @@ -8,12 +10,16 @@ - name: Configure Domain when: domain is defined or clever_domain is defined command: clever-set-domain.sh + args: + chdir: "{{ clever_app_root }}" environment: DOMAIN: "{{ clever_domain | default(domain) }}" CONFIGURATION_FILE: "{{ clever_login_file }}" - name: Push Environment shell: "clever env import < {{ clever_app_confdir }}/env" + args: + chdir: "{{ clever_app_root }}" environment: CONFIGURATION_FILE: "{{ clever_login_file }}" changed_when: false @@ -24,15 +30,11 @@ tags: - skip_ansible_lint -- name: Deploy to Clever-Cloud - shell: "clever deploy" +- name: Push to Clever-Cloud to trigger deployment + command: "git push --force git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/{{ clever_app }}.git HEAD:refs/heads/master" args: chdir: "{{ clever_app_root }}" - environment: - CONFIGURATION_FILE: "{{ clever_login_file }}" - register: clever_deploy - async: 900 # 15 minutes timeout - poll: 30 + register: clever_git_push ignore_errors: true tags: - skip_ansible_lint @@ -42,34 +44,35 @@ args: chdir: "{{ clever_app_root }}" when: - - clever_deploy is failed - - clever_deploy.stderr is search("Failed to read git object") + - clever_git_push is failed + - clever_git_push.stderr is search("shallow update not allowed") tags: - skip_ansible_lint -- name: Deploy to Clever-Cloud - shell: "clever deploy" +- name: Push to Clever-Cloud to trigger deployment + command: "git push --force git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/{{ clever_app }}.git HEAD:refs/heads/master" args: chdir: "{{ clever_app_root }}" - environment: - CONFIGURATION_FILE: "{{ clever_login_file }}" - when: clever_deploy is failed - register: clever_deploy - async: 900 # 15 minutes timeout - poll: 30 - ignore_errors: true + when: clever_git_push is failed tags: - skip_ansible_lint -- name: Return deployment logs - debug: - var: clever_deploy.stdout - -- name: Return deployment errors - debug: - var: clever_deploy.stderr - when: clever_deploy is failed +- name: Watch deployment status + command: "clever-wait-deploy.sh" + args: + chdir: "{{ clever_app_root }}" + async: 900 + poll: 0 + register: long_command + environment: + CONFIGURATION_FILE: "{{ clever_login_file }}" + changed_when: False -- name: Fail on deployment errors - fail: "The clever deployment failed! Please check logs above." - when: clever_deploy is failed +# Waits up to 15 minutes +- name: Wait for deployment completion + async_status: + jid: "{{ long_command.ansible_job_id }}" + register: job_result + until: job_result.finished + delay: 30 + retries: 30