From 9861b5e6278169aa7978446185d53c13d3c343c7 Mon Sep 17 00:00:00 2001 From: Dmitry Ukov Date: Thu, 16 Jan 2020 14:14:52 +0400 Subject: [PATCH] Implement push to image registry on merge Change-Id: Ic4a5ee86a806c34209da9ee93e1cb85364cf2613 --- .zuul.yaml | 12 +++++++++++ playbooks/airship-images-publish.yaml | 30 +++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 playbooks/airship-images-publish.yaml diff --git a/.zuul.yaml b/.zuul.yaml index f88b698..9de4cc6 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -20,6 +20,7 @@ post: jobs: - images-upload-git-mirror + - airship-images-publish - job: name: airship-images-functional @@ -38,6 +39,17 @@ secret: images-airshipit-github-secret pass-to-parent: true +- job: + name: airship-images-publish + nodeset: airship-images-single-node + timeout: 1800 + post-timeout: 1800 + pre-run: playbooks/airship-airshipctl-deploy-docker.yaml + run: playbooks/airship-images-publish.yaml + secrets: + - name: airship_images_quay_creds + secret: airship_images_quay_creds + - nodeset: name: airship-images-single-node nodes: diff --git a/playbooks/airship-images-publish.yaml b/playbooks/airship-images-publish.yaml new file mode 100644 index 0000000..0622f6a --- /dev/null +++ b/playbooks/airship-images-publish.yaml @@ -0,0 +1,30 @@ +# 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: Publish images + block: + - docker_login: + username: "{{ airship_images_quay_creds.username }}" + password: "{{ airship_images_quay_creds.password }}" + registry_url: "https://quay.io/api/v1/" + - make: + chdir: "{{ zuul.project.src_dir }}" + target: "images" + params: + COMMIT: "{{ zuul.newrev | default('') }}" + PUSH_IMAGE: "true" + become: True