Files
2023-03-15 00:05:24 +02:00

56 lines
1.5 KiB
YAML

---
- name: Image build
when: dockerfile is defined and dockerfile | length > 0
block:
- name: Put dockerfile in place
template:
src: Dockerfile.j2
dest: "/opt/{{ docker_service }}/Dockerfile"
mode: 0644
- name: Build docker image for {{ docker_service }}
docker_image:
name: "local_{{ docker_service }}"
source: build
force_source: true
build:
pull: true
path: "/opt/{{ docker_service }}"
register: built_image
- name: Pull container image for {{ docker_service }}
docker_image:
name: "{{ docker_image }}"
source: pull
force_source: true
register: pulled_image
when: dockerfile is not defined or dockerfile | length == 0
- name: Set container_image variable
set_fact:
container_image: "{{ item.image }}"
when: item.skipped is not defined or not item.skipped
loop:
- "{{ built_image }}"
- "{{ pulled_image }}"
- name: Check mode image info
when: ansible_check_mode
block:
- name: Get docker image info for check mode
docker_image_info:
name: "{{ ('local_' + docker_service) if dockerfile is defined and dockerfile | length > 0 else docker_image }}"
register: existing_image
- name: Set check nmode container_image variable
set_fact:
container_image: "{{ existing_image.images[0] }}"
- name: Set image user variable
set_fact:
image_user: "{{ container_image.Config.User }}"
when:
- not ansible_check_mode
- container_image.Config.User | length > 0