summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan.tuomi@eficode.com>2019-12-31 00:02:25 +0200
committerJan Tuomi <jan.tuomi@eficode.com>2019-12-31 00:02:25 +0200
commit0578e0157159d2cd81999f8f5a3590e855f2732d (patch)
tree67df8ec52b9ceed4ae32ef0e691299a74565f19f
parent9b1669bf9bb7587890e771e830849275f7fc8e14 (diff)
Try adding fallback to ansible0.0.27
-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