Files
cobald-testenv/roles/slurm/tasks/dockerimage_build.yml

43 lines
1.4 KiB
YAML

- name: create directories for docker image build
file:
path: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/{{item}}"
state: directory
owner: "{{unpriv_user}}"
group: docker
loop: "{{ [''] + (files | map(attribute='dest') | map('dirname') |
unique | select | list) }}"
- name: "copy Dockerfile {{slurm_image_prefix}}:{{image_name}}"
copy:
content: "{{dockerfile}}"
dest: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/Dockerfile"
owner: "{{unpriv_user}}"
group: docker
register: slurm_cp_dockerfile
- name: copy requisite files
copy:
content: "{{ item.content }}"
dest: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/{{item.dest}}"
owner: root
group: root
mode: u=rwx,g=rx,o=rx
loop: "{{ files | default([]) }}"
loop_control:
label: "{{ item.dest }}"
register: slurm_cp_files
- name: "build docker image {{slurm_image_prefix}}:{{image_name}}"
docker_image:
name: "{{slurm_image_prefix}}"
tag: "{{image_name}}"
# pull: False
build:
args: "{{image_args | default(omit)}}"
pull: False
path: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/"
source: build
force_source: "{{slurm_cp_dockerfile.changed or
slurm_cp_files.changed or
slurm_baseimg_build_chg | default(False) }}"