diff options
Diffstat (limited to 'ansible/deploy-playbook.yaml')
| -rw-r--r-- | ansible/deploy-playbook.yaml | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/ansible/deploy-playbook.yaml b/ansible/deploy-playbook.yaml index 229312b..a6c80b7 100644 --- a/ansible/deploy-playbook.yaml +++ b/ansible/deploy-playbook.yaml @@ -5,6 +5,13 @@ container_name: ansible-deploy-ci-test tasks: + - name: Register previous container ID for possible fallback + shell: "docker ps -q --filter name={{ container_name }}" + register: prev + + - set_fact: + prev_container_id="{{ prev.stdout }}" + - name: Docker login docker_login: username: "{{ docker_user }}" @@ -20,7 +27,7 @@ docker_container: name: "{{ container_name }}" image: "{{ image_name }}" - state: absent + state: stopped - name: Create app container docker_container: @@ -29,3 +36,17 @@ state: started ports: - "80:80" + + - name: Test app responds on port 80 + uri: + url: "http://{{ ansible_host }}:80" + ignore_errors: True + register: result + + - name: Rollback if app isn't responding + docker_container: + name: "{{ prev_container_id }}" + state: started + ports: + - "80:80" + when: result is failed |
