image-builder/playbooks/airship-image-builder-publish-latest.yaml
Walter Wahlstedt 1f7138684d Reduce number of jobs needed to tag images
Change-Id: Ie21cfa4ac909f0a69913f876a8659d9bb495df76
2021-11-01 15:06:13 -04:00

68 lines
2.6 KiB
YAML

# Copyright 2019 AT&T Intellectual Property. All other rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
- hosts: primary
tasks:
- name: Install python-docker module
apt:
pkg:
- python-docker
- python3-docker
- pass
- python-requests
- python3-requests
- python3-pip
- python3-setuptools
state: present
become: true
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- name: Install docker pip module
pip:
name: docker
executable: pip3
- name: Execute custom role
include_role:
name: "{{ pre_build_role }}"
when: pre_build_role is defined
- name: Push Images
block:
- name: Login to Image Registry
docker_login:
username: "{{ image_builder_quay_creds.username }}"
password: "{{ image_builder_quay_creds.password }}"
registry_url: "{{ docker_registry }}"
- name: Publish Images with Latest and Commit Tags
command: make images
args:
chdir: "{{ makefile_chdir }}"
environment:
AZ_SDK: "{{ az_sdk }}"
COMMIT: "{{ zuul.newrev | default('') }}"
DOCKER_REGISTRY: "{{ docker_registry }}"
GCP_SDK: "{{ gcp_sdk }}"
IMAGE_PREFIX: "{{ image_prefix | default('airshipit') }}"
IMAGE_TAG_FIRST: "{{ image_tag | first | default('latest') }}"
IMAGE_TAG: "{{ item }}"
LABEL: "{{ image_label | default('org.airshipit.build=community') }}"
NO_PROXY: "{{ proxy.noproxy }}"
PUSH_IMAGE: "true"
PROXY: "{{ proxy.http }}"
QCOW_CONF_DIRS: "{{ qcow_conf_dirs | default('') }}"
USE_PROXY: "{{ proxy.enabled | lower }}"
WORKDIR: "{{ image_work_dir | default('manifests') }}"
PROFILE: "{{ image_profile_dir | default('') }}"
loop: "{{ image_tag|flatten(levels=1) }}"
become: True