[#33] Publish airshipctl image on Quay
This change introduces a job that publishes the latest airshipctl image to quay.io/airshipit/airshipctl each time a new change is merged. Closes #33 Change-Id: I8468b10a8064333d1749015960151e98adb2be97 Signed-off-by: Drew Walters <andrew.walters@att.com>
This commit is contained in:
parent
ea52398654
commit
bcfcd6f9a0
4
Makefile
4
Makefile
@ -20,6 +20,7 @@ DOCKER_IMAGE_PREFIX ?= airshipit
|
||||
DOCKER_IMAGE_TAG ?= dev
|
||||
DOCKER_IMAGE ?= $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)
|
||||
DOCKER_TARGET_STAGE ?= release
|
||||
PUBLISH ?= false
|
||||
|
||||
# go options
|
||||
PKG ?= ./...
|
||||
@ -111,6 +112,9 @@ else
|
||||
--tag $(DOCKER_IMAGE) \
|
||||
--target $(DOCKER_TARGET_STAGE)
|
||||
endif
|
||||
ifeq ($(PUBLISH), true)
|
||||
@docker push $(DOCKER_IMAGE)
|
||||
endif
|
||||
|
||||
|
||||
.PHONY: print-docker-image-tag
|
||||
|
16
playbooks/airship-airshipctl-publish-images.yaml
Normal file
16
playbooks/airship-airshipctl-publish-images.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
# 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
|
||||
#
|
||||
# http://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: all
|
||||
become: yes
|
||||
roles:
|
||||
- airshipctl-publish-images
|
46
roles/airshipctl-publish-images/tasks/main.yaml
Normal file
46
roles/airshipctl-publish-images/tasks/main.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
# 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
|
||||
#
|
||||
# http://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.
|
||||
|
||||
- name: Install python-docker Module
|
||||
apt:
|
||||
pkg:
|
||||
- python-docker
|
||||
- python3-requests
|
||||
state: present
|
||||
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
|
||||
|
||||
- name: List Docker Images
|
||||
shell: docker image ls
|
||||
|
||||
- name: Push Images
|
||||
block:
|
||||
- name: Login to Image Registry
|
||||
docker_login:
|
||||
username: "{{ image-repo-credentials.username }}"
|
||||
password: "{{ image-repo-credentials.password }}"
|
||||
registry_url: "{{ image_repo }}"
|
||||
|
||||
- name: Push Image with Latest Tag
|
||||
make:
|
||||
chdir: "{{ zuul.project.src_dir }}"
|
||||
params:
|
||||
DOCKER_IMAGE_TAG: latest
|
||||
PUBLISH: true
|
||||
target: images
|
||||
|
||||
- name: Push Image with Commit Tag
|
||||
make:
|
||||
chdir: "{{ zuul.project.src_dir }}"
|
||||
params:
|
||||
DOCKER_IMAGE_TAG: "{{ zuul.newrev }}"
|
||||
PUBLISH: true
|
||||
target: images
|
@ -28,8 +28,6 @@
|
||||
name: airship-airshipctl-build-image
|
||||
nodeset: airship-airshipctl-single-node
|
||||
run: playbooks/airship-airshipctl-build-images.yaml
|
||||
roles:
|
||||
- zuul: openstack/openstack-helm-infra
|
||||
irrelevant-files:
|
||||
- ^.*\.md$
|
||||
- ^docs/.*$
|
||||
@ -86,3 +84,13 @@
|
||||
vars:
|
||||
rtd_project_name: airship-airshipctl
|
||||
rtd_webhook_id: 112688
|
||||
|
||||
- job:
|
||||
name: airship-airshipctl-publish-image
|
||||
parent: airship-airshipctl-build-image
|
||||
post-run: playbooks/airship-airshipctl-publish-images.yaml
|
||||
secrets:
|
||||
- airshipctl-image-repo-credentials
|
||||
vars:
|
||||
image: quay.io/airshipit/airshipctl
|
||||
image_repo: https://quay.io/api/v1/
|
||||
|
@ -28,4 +28,5 @@
|
||||
post:
|
||||
jobs:
|
||||
- airship-airshipctl-publish-docs
|
||||
- airship-airshipctl-publish-image
|
||||
- airship-airshipctl-upload-git-mirror
|
||||
|
@ -57,3 +57,29 @@
|
||||
B4PhXVzb3mTLrFcakuP4U7g7UkAbqg4CHJKuF2BiazJRZH569YFJdP0UkOXz8tSTRDTQh
|
||||
uPzQ1Ero9vGyHmFuvFczZK+TnJBxyKiyWr4kR9GbI3WVXMSa78M+kRqQmcnqdwS9AAFC2
|
||||
595F3m2UtgR6QKN5xbJJmWp7ipihdRvQ1eVl5GCjG7MBi27YvILp4cIWg+MO1I=
|
||||
|
||||
- secret:
|
||||
name: airshipctl-image-repo-credentials
|
||||
data:
|
||||
username: !encrypted/pkcs1-oaep
|
||||
- IrKFuv6QJnGT7C/c6a4GCmDLJn0rZ82ivaAd3BjP3QyTegM95gVCOFC4l45NGRLLtzFun
|
||||
43XI00cNxokj4qohxzxstjq/3SIyHZ4EKmQD+Ln/YWGk39SNbf8o9X1iUOSfn9KnpTooL
|
||||
BpWS47k6VKHvba+Ksh32UvdTSIERqRzR7nFeK1y/WQp6hzo3XdoaBYhXqwbbBz141+cfB
|
||||
UDGkTcNuJbJnLDL99fJpxjXm/4CtVysUaIae/VBXc4syJPb3C1AzXTQNDh82gO45QvSuM
|
||||
Mj7i2G850BFRK+rE8oFhvZm8ONqVRFgSbFdzhiVkOf4JGaLP4QXZxO3Biy1Qn1OQpGGcq
|
||||
gZmoLy1ldTuZvManNtgOHdpEhD7Y6Pvo893cKR/KsKRj1aqJFJTWaQZqas+4Wrk39ARZU
|
||||
Xw72HSUWN8V04gAY8/Pwxuh6SOd78joBfzf+Uw+G7yKexuUadnvgFeKs1BMOki1xqxM14
|
||||
SqfyWzRA3iRiy9F+r5vNxEjlB4C/wOFr4jFNzD1ReOZW3JNArdNPIXE8E7DIb/E3AHDfy
|
||||
eAhPdSSQHRwiLASIxadvOkQ3R0uQ42PtK//idBzhc7jMj7Z3aOIf4rc0z/xYTBqMXOznB
|
||||
GdgKWfFSVrjQt8LDo1fw9hHz0CpJnfwCDJmffYVOwnHvwBloGtzsZwjXTXqfDk=
|
||||
password: !encrypted/pkcs1-oaep
|
||||
- aPSCGqEhg7YbbxwbH/UduU6nL1VXr2ndYp9sYxdGu2mdMgliqowOFciXCz1mJ6q3gQgd5
|
||||
fJSyZ5tRcWmH/kwdAwQXF3oCbeyejQj3I6tV3XA49h+6m1YsdhrLqb4aIoKE154oQSn+3
|
||||
dt/eHLwa+flGZySTh8mthcjgeHOgTl3BMlXQky7MVnThLlDgD6amXp1nzjtgFDPy/JFZX
|
||||
G6/3crtdhsebLVjnCN99qVutyg3IitLZk/ek2cK5OEnSwK1ae8Czuw3UxoTQar3Cih3ye
|
||||
hzwflvl2+ZeYEjSTAEjSWVRGM097I0Nezsd+CibU1IGYlIvhCJLGiu9ZjRDwweQ4B1kcj
|
||||
+lIFNeArqhrFV0l/aDVWBZCJ9baIjgpIBrHbw0jtI5BcSQbEg7ZPFZSbTJc/txcLC1vvq
|
||||
EzSRuWBl0ZQspE+ETiHrEccTT4zlaRSp2ZRQ1wema62u2Xww9IRAVzdYpLxAsU7Ywmvnh
|
||||
z+5QYugxqgsVduciweNeBndXFHVtmeMa4s7G5F3xh3/x5mYVKnxFF/cxQl17Q2ZjFXygc
|
||||
hgehekUA9UPUUeSuUpFZrj/zxnj9Lrd0Y/aOWqmoNa1idOyPmsfuQ1FsC0AAiygoX1u/m
|
||||
y4rPv9Hv0h4Nug7ZnYMUdHp8Rn6PIRQwePvb3bSORUZcF29dbzunIndI35BGh0=
|
||||
|
Loading…
Reference in New Issue
Block a user