54 lines
2.3 KiB
YAML
54 lines
2.3 KiB
YAML
---
|
|
# file: tasks/run.yml
|
|
|
|
- name: run - Get current docker status
|
|
with_items: "{{dockers|default([])}}"
|
|
command: "/usr/local/bin/docker-get-status {{item}}"
|
|
register: docker_current_status_command
|
|
|
|
- name: run - Register docker_current_status
|
|
with_items: "{{docker_current_status_command.results}}"
|
|
set_fact:
|
|
docker_current_status: "{{docker_current_status |default({}) |combine( {item.item: item.stdout} ) }}"
|
|
|
|
- name: run - Debug docker_current_status
|
|
when: docker_debug|default(false)
|
|
with_items: "{{dockers|default([])}}"
|
|
debug: msg="{{docker_current_status[item]}}"
|
|
|
|
- name: run - Get current docker image
|
|
with_items: "{{dockers|default([])}}"
|
|
command: "/usr/local/bin/docker-get-image {{item}}"
|
|
register: docker_current_image_command
|
|
|
|
- name: run - Register docker_current_image
|
|
with_items: "{{docker_current_image_command.results}}"
|
|
set_fact:
|
|
docker_current_image: "{{docker_current_image |default({}) |combine( {item.item: item.stdout} ) }}"
|
|
|
|
- name: run - Debug docker_current_image
|
|
when: docker_debug|default(false)
|
|
with_items: "{{dockers|default([])}}"
|
|
debug: msg="{{docker_current_image[item]}}"
|
|
|
|
- name: run - Stop current docker
|
|
when: ( docker_restart|default(false) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false) ) and "{{docker_current_status[item]}}" == "{{item}} running"
|
|
with_items: "{{dockers|default([])}}"
|
|
command: "docker stop {{item}}"
|
|
|
|
- name: run - Remove current docker
|
|
when: ( docker_restart|default(false) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false) ) and "{{docker_current_status[item]}}" != ""
|
|
with_items: "{{dockers|default([])}}"
|
|
command: "docker rm {{item}}"
|
|
|
|
- name: run - Run docker image
|
|
when: docker_start|default(true) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false)
|
|
with_items: "{{dockers|default([])}}"
|
|
command: "/usr/local/bin/docker-run -q -c {{docker_cluster|default('\"\"')}} {{item}}"
|
|
|
|
- name: run - Start docker
|
|
when: docker_start|default(true) and "{{docker_current_image[item]}}" == "{{docker_build_image[item]}}" and "{{docker_current_status[item]}}" != "{{item}} running"
|
|
with_items: "{{dockers|default([])}}"
|
|
command: "docker start {{item}}"
|
|
|