42 lines
1.3 KiB
YAML
42 lines
1.3 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:
|
|
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) }}"
|