From c5aed75a0e5732aa6031ce3b1864d5aee3e1b49e Mon Sep 17 00:00:00 2001 From: Paul Bonaud Date: Wed, 21 Nov 2018 13:20:56 +0100 Subject: 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. --- tasks/deploy.yml | 59 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 26 deletions(-) (limited to 'tasks/deploy.yml') 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 @@ tags: - skip_ansible_lint -- 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" +- name: Deploy to Clever-Cloud + shell: "clever deploy --force" args: chdir: "{{ clever_app_root }}" - register: clever_git_push + environment: + CONFIGURATION_FILE: "{{ clever_login_file }}" + register: clever_deploy + async: 900 # 15 minutes timeout + poll: 30 ignore_errors: true tags: - skip_ansible_lint @@ -44,35 +48,38 @@ args: chdir: "{{ clever_app_root }}" when: - - clever_git_push is failed - - clever_git_push.stderr is search("shallow update not allowed") + - clever_deploy is failed + - clever_deploy.stderr is defined + - clever_deploy.stderr is search("Failed to read git object") tags: - skip_ansible_lint -- 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" +- name: Deploy to Clever-Cloud + shell: "clever deploy --force" args: chdir: "{{ clever_app_root }}" - when: clever_git_push is failed + environment: + CONFIGURATION_FILE: "{{ clever_login_file }}" + when: clever_deploy is failed + register: clever_deploy + async: 900 # 15 minutes timeout + poll: 30 + ignore_errors: true tags: - skip_ansible_lint -- 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: Return deployment logs + debug: + var: clever_deploy.stdout + when: clever_deploy.stdout is defined + +- name: Return deployment errors + debug: + var: clever_deploy.stderr + when: + - clever_deploy is failed + - clever_deploy.stderr is defined -# 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 +- name: Fail on deployment errors + fail: "The clever deployment failed! Please check logs above." + when: clever_deploy is failed -- cgit v1.2.3