summaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'ansible')
-rw-r--r--ansible/deploy-playbook.yaml23
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