Add publish jobs for AIAP
Change-Id: I23ea662d4354cdb8ee11d82aeeedf4a5282963db
This commit is contained in:
parent
0c36a47ee3
commit
f9411f40f7
17
playbooks/airship-aiap-build-images.yaml
Normal file
17
playbooks/airship-aiap-build-images.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
# 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:
|
||||
- docker-install
|
||||
- aiap-build-images
|
17
playbooks/airship-aiap-publish-images.yaml
Normal file
17
playbooks/airship-aiap-publish-images.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
# 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:
|
||||
- docker-install
|
||||
- aiap-publish-images
|
19
roles/aiap-build-images/tasks/main.yaml
Normal file
19
roles/aiap-build-images/tasks/main.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
# 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: Build airship-in-a-pod Images
|
||||
make:
|
||||
chdir: "{{ zuul.project.src_dir }}/tools/airship-in-a-pod"
|
||||
target: images
|
||||
params:
|
||||
DOCKER_REGISTRY: "{{ image_repo }}"
|
||||
DOCKER_IMAGE_TAG: "{{ zuul.change }}"
|
41
roles/aiap-publish-images/tasks/main.yaml
Normal file
41
roles/aiap-publish-images/tasks/main.yaml
Normal file
@ -0,0 +1,41 @@
|
||||
# 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 python3-docker and python3-requests Modules
|
||||
package:
|
||||
name:
|
||||
- python3-docker
|
||||
- python3-requests
|
||||
state: present
|
||||
|
||||
- name: List Docker Images
|
||||
shell: docker image ls
|
||||
|
||||
- name: Push Images
|
||||
block:
|
||||
- name: Login to Image Registry
|
||||
docker_login:
|
||||
username: "{{ airshipctl_image_repo_credentials.username }}"
|
||||
password: "{{ airshipctl_image_repo_credentials.password }}"
|
||||
registry_url: "{{ image_repo }}"
|
||||
|
||||
- name: Push Image with Tags
|
||||
make:
|
||||
chdir: "{{ zuul.project.src_dir }}/tools/airship-in-a-pod"
|
||||
target: images
|
||||
params:
|
||||
DOCKER_REGISTRY: "{{ image_repo }}"
|
||||
DOCKER_IMAGE_TAG: "{{ item }}"
|
||||
PUBLISH: "true"
|
||||
loop:
|
||||
- "latest"
|
||||
- "{{ zuul.newrev }}"
|
@ -1,10 +1,10 @@
|
||||
IMAGE_REGISTRY ?= quay.io/airshipit
|
||||
IMAGES := infra-builder artifact-setup runner
|
||||
IMAGE_TAG ?= latest
|
||||
DOCKER_REGISTRY ?= quay.io
|
||||
DOCKER_IMAGE_PREFIX ?= airshipit
|
||||
DOCKER_IMAGE_TAG ?= latest
|
||||
IMAGES ?= infra-builder artifact-setup runner
|
||||
PUBLISH ?= false
|
||||
|
||||
PUSH_IMAGES ?= false
|
||||
|
||||
.PHONY: help base libvirt $(IMAGES) build test
|
||||
.PHONY: help base libvirt $(IMAGES) images test
|
||||
|
||||
SHELL:=/bin/bash
|
||||
.ONESHELL:
|
||||
@ -12,34 +12,34 @@ SHELL:=/bin/bash
|
||||
help: ## This help.
|
||||
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z0-9_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
|
||||
|
||||
build: base
|
||||
build: libvirt
|
||||
build: $(IMAGES) ## Build the containers.
|
||||
images: base
|
||||
images: libvirt
|
||||
images: $(IMAGES) ## Build the containers.
|
||||
|
||||
base:
|
||||
docker build --tag $(IMAGE_REGISTRY)/aiap-base:$(IMAGE_TAG) --build-arg BASE_IMAGE=ubuntu:20.04 ./base
|
||||
ifeq (true, $(PUSH_IMAGES))
|
||||
docker push $(IMAGE_REGISTRY)/aiap-base:$(IMAGE_TAG)
|
||||
docker build --tag $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/aiap-base:$(DOCKER_IMAGE_TAG) --build-arg BASE_IMAGE=ubuntu:20.04 ./base
|
||||
ifeq (true, $(PUBLISH))
|
||||
docker push $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/aiap-base:$(DOCKER_IMAGE_TAG)
|
||||
endif
|
||||
|
||||
libvirt:
|
||||
docker build --tag $(IMAGE_REGISTRY)/libvirt:$(IMAGE_TAG) ./libvirt
|
||||
ifeq (true, $(PUSH_IMAGES))
|
||||
docker push $(IMAGE_REGISTRY)/libvirt:$(IMAGE_TAG)
|
||||
docker build --tag $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/libvirt:$(DOCKER_IMAGE_TAG) ./libvirt
|
||||
ifeq (true, $(PUBLISH))
|
||||
docker push $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/libvirt:$(DOCKER_IMAGE_TAG)
|
||||
endif
|
||||
|
||||
$(IMAGES):
|
||||
docker build --tag $(IMAGE_REGISTRY)/aiap-$@:$(IMAGE_TAG) ./$@
|
||||
ifeq (true, $(PUSH_IMAGES))
|
||||
docker push $(IMAGE_REGISTRY)/aiap-$@:$(IMAGE_TAG)
|
||||
docker build --tag $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/aiap-$@:$(DOCKER_IMAGE_TAG) ./$@
|
||||
ifeq (true, $(PUBLISH))
|
||||
docker push $(DOCKER_REGISTRY)/$(DOCKER_IMAGE_PREFIX)/aiap-$@:$(DOCKER_IMAGE_TAG)
|
||||
endif
|
||||
|
||||
test: test-airshipctl test-treasuremap
|
||||
|
||||
test-airshipctl: build
|
||||
kubectl delete pod airship-in-a-pod || true
|
||||
test-airshipctl: images
|
||||
kubectl delete pod airship-in-a-pod || true
|
||||
kustomize build ./examples/airshipctl | kubectl apply -f -
|
||||
|
||||
test-treasuremap: build
|
||||
kubectl delete pod airship-in-a-pod || true
|
||||
test-treasuremap: images
|
||||
kubectl delete pod airship-in-a-pod || true
|
||||
kustomize build ./examples/airshipctl | kubectl apply -f -
|
||||
|
@ -59,6 +59,13 @@
|
||||
- ^.*\.md$
|
||||
- ^\.github/.*$
|
||||
|
||||
- job:
|
||||
name: airship-aiap-build-image
|
||||
nodeset: airship-airshipctl-single-node
|
||||
run: playbooks/airship-aiap-build-images.yaml
|
||||
files:
|
||||
- ^tools/airship-in-a-pod/.*$
|
||||
|
||||
- job:
|
||||
name: airship-airshipctl-validate-site-docs
|
||||
timeout: 6600
|
||||
@ -239,3 +246,15 @@
|
||||
pass-to-parent: true
|
||||
vars:
|
||||
image: quay.io/airshipit/airshipctl
|
||||
- job:
|
||||
name: airship-aiap-publish-image
|
||||
nodeset: airship-airshipctl-single-node
|
||||
run: playbooks/airship-aiap-publish-images.yaml
|
||||
files:
|
||||
- ^tools/airship-in-a-pod/.*$
|
||||
secrets:
|
||||
- name: airshipctl_image_repo_credentials
|
||||
secret: airshipctl_image_repo_credentials
|
||||
pass-to-parent: true
|
||||
vars:
|
||||
image: quay.io/airshipit/airshipctl
|
||||
|
@ -40,6 +40,7 @@
|
||||
- airship-airshipctl-validate-site-docs
|
||||
# - airship-airshipctl-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up
|
||||
- airship-airshipctl-gate-script-runner-docker
|
||||
- airship-aiap-build-image
|
||||
experimental:
|
||||
jobs:
|
||||
- airship-airshipctl-docker-kubebench-conformance
|
||||
@ -53,11 +54,13 @@
|
||||
- airship-airshipctl-build-image
|
||||
- airship-airshipctl-validate-site-docs
|
||||
- airship-airshipctl-gate-script-runner
|
||||
- airship-aiap-build-image
|
||||
|
||||
# - airship-airshipctl-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up
|
||||
post:
|
||||
jobs:
|
||||
- airship-airshipctl-publish-image
|
||||
- airship-aiap-publish-image
|
||||
- airship-airshipctl-upload-git-mirror
|
||||
promote:
|
||||
jobs:
|
||||
|
Loading…
Reference in New Issue
Block a user