# 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: Push Images with Latest and Commit Tags command: make images clean 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: "{{ image_tag | first | default('latest') }}" 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('') }}" - name: Publish the rest of the tags command: docker tag ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG1} ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG2} && docker push ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME} environment: IMAGE_TAG1: "{{ image_tag | first | default('latest') }}" IMAGE_TAG2: "{{ item }}" DOCKER_REGISTRY: "{{ docker_registry }}" IMAGE_PREFIX: "{{ image_prefix | default('airshipit') }}" IMAGE_NAME: "{{ IMAGE_NAME | default('image-builder') }}" with_items: "{{ image_tag[1:] }}" become: True