shipyard/tools/gate/playbooks/docker-image-build.yaml
Sergiy Markin 60cf3b6a0e Bump up docker Pypi module version
Also updated docs generation code caused by
deprecated properties in recent version of Sphinx.

Change-Id: I70ff5f2fd836b17c8cfdd93cd272a91ac0873bff
2024-10-08 22:24:12 +00:00

107 lines
2.6 KiB
YAML

- hosts: all
roles:
- bindep
- ensure-docker
- ensure-python
- ensure-pip
tasks:
- include_vars: vars.yaml
- name: Debug tag generation inputs
block:
- debug:
var: publish
- debug:
var: tags
- debug:
var: distro
- debug:
var: zuul
- debug:
msg: "{{ tags | to_json }}"
- name: Determine tags
shell: echo '{{ tags | to_json }}' | python3 {{ zuul.project.src_dir }}/tools/image_tags.py
environment:
BRANCH: "{{ zuul.branch | default('') }}"
CHANGE: "{{ zuul.change | default('') }}"
COMMIT: "{{ zuul.newrev | default('') }}"
PATCHSET: "{{ zuul.patchset | default('') }}"
register: image_tags
- name: Debug computed tags
debug:
var: image_tags
- name: Install Docker python module for ansible docker login
block:
- pip:
name: docker
executable: pip3
become: True
- name: Install tox python module for ansible docker login
block:
- pip:
name: tox
executable: pip3
become: True
- name: Make images - verbosive
when: not publish
shell: |
make run_images
args:
chdir: "{{ zuul.project.src_dir }}"
executable: /bin/bash
become: True
- name: Make images
when: not publish
block:
- make:
chdir: "{{ zuul.project.src_dir }}"
target: images
params:
DISTRO: "{{ distro }}"
IMAGE_TAG: "{{ item }}"
with_items: "{{ image_tags.stdout_lines }}"
- shell: "docker images"
register: docker_images
- debug:
var: docker_images
become: True
- name: Publish images
block:
- docker_login:
username: "{{ airship_shipyard_quay_creds.username }}"
password: "{{ airship_shipyard_quay_creds.password }}"
registry_url: "https://quay.io/api/v1/"
api_version: "1.43"
- make:
chdir: "{{ zuul.project.src_dir }}"
target: images
params:
DOCKER_REGISTRY: "quay.io"
IMAGE_PREFIX: "airshipit"
DISTRO: "{{ distro }}"
IMAGE_TAG: "{{ item }}"
COMMIT: "{{ zuul.newrev | default('') }}"
PUSH_IMAGE: "true"
with_items: "{{ image_tags.stdout_lines }}"
- shell: "docker images"
register: docker_images
- debug:
var: docker_images
when: publish
become: True