
We have two sets of image build jobs. The first are targetted specifically at docker and docker hub. The second set use the generic container image roles and jobs from zuul/zuul-jobs. In this second set we have the choice of using either podman or docker. Choose podman because podman plays nicer with mirroring images hosted outside of docker hub. This is important for image builds like Gerrit where we build a base image and a gerrit version specific image and we need to lookup the base image from a mirror of a hosted versions outside of docker hub. The main drawback to keep in mind here is that podman handles multi arch container image builds differently to docker. This means if/when we get to porting the python base image builds that are multiarch to quay and pordman we may need to add additional support for multiarch. Though currently only nodepool-builder relies on this and it is being replaced by zuul-launcher so we may just sidestep the issue entirely. We update the hound Dockerfile to force a rebuild of this image. The reason for that is that image is the only one currently affected by the change to build images with podman. This ensures we don't discover problems with podman building hound images later when we have a different reason to rebuild that image. Finally while we are at it drop container_command from the mirror container images job because that job uses skopeo now and doesn't rely on podman or docker. This should reduce overall confusion when trying to understand the behavior of our jobs. Change-Id: Ie7a309452e33e0996702c849167b7881d79db5fb
110 lines
4.8 KiB
YAML
110 lines
4.8 KiB
YAML
# Base image building jobs
|
|
# Docker + Docker Hub
|
|
- secret:
|
|
name: system-config-dockerhub
|
|
data:
|
|
username: opendevzuul
|
|
password: !encrypted/pkcs1-oaep
|
|
- FF2mwsdYo4b9QI/kEmeFdZS32I+OJUac2xy4JEQJaIevRK9E3rQ/11cBn7xX6zelA/htY
|
|
hENMM1gGTYO8BKgTVNijFfCiVCTYFJ9efsOrSeMdj2aLcq/OkZFeq8gMHAZDv+3qaiggq
|
|
hbDmldgSouNahhJByWMsDjYqnItfR8w1dYisNQBkDEJdNW5+Cin5WgHRYv2skui9pjumU
|
|
vWHjwLbITLEjb0hwVErggAzvED4x0UjNEMfb6KCpoXeKdlCaI8h1DXVD9RdQ4s1WvUCro
|
|
xwl4AIUyCmdtXbqW787PQ4j8BgdOi8RD40ZTSxpoV/bwT+/NrP3Jj2KVYdEKQJimzXnwL
|
|
goDclapu9aFrAaqwWSnWCRc7GQptSZ7DBXmA7MsNinBclWHX/chX5k9Q1+XifAhmKJZqP
|
|
ovkzEGtmUjTQZFjvuCtFxIWZEGVtGHDmgEkzevgVCeuHDTeIDlkAvA3+TT+/A70zyYdbP
|
|
EHOTSSjCU6RSlJxAXjNb5pzKjpeT7PyX2f4/8Zn3JnwTlfPJ0C7qdEYjQ54hbsKynjrpQ
|
|
7f6NN9pAeQS1pid5J7oH4f7YaKM78pnhoTxRl3LmeitIlAG+zCpiT4J+se2eG27ep4aUA
|
|
bYuO0L+KBosY6DcvEbR9TqkYLPgJuEPi/6SQr9bBOldEspXXAv9msyCB4VMhVU=
|
|
|
|
- job:
|
|
name: system-config-build-image
|
|
parent: opendev-build-docker-image
|
|
dependencies: opendev-buildset-registry
|
|
abstract: true
|
|
vars:
|
|
docker_mirror_base_url: "https://{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}"
|
|
zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}"
|
|
|
|
- job:
|
|
name: system-config-upload-image
|
|
parent: opendev-upload-docker-image
|
|
dependencies: opendev-buildset-registry
|
|
abstract: true
|
|
vars:
|
|
docker_mirror_base_url: "https://{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}"
|
|
zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}"
|
|
secrets:
|
|
name: docker_credentials
|
|
secret: system-config-dockerhub
|
|
pass-to-parent: true
|
|
|
|
- job:
|
|
name: system-config-promote-image
|
|
parent: opendev-promote-docker-image
|
|
abstract: true
|
|
secrets:
|
|
name: docker_credentials
|
|
secret: system-config-dockerhub
|
|
pass-to-parent: true
|
|
|
|
# Docker + Quay.io
|
|
- secret:
|
|
name: system-config-quayio
|
|
data:
|
|
quay.io:
|
|
username: opendevorg+opendevrobot
|
|
password: !encrypted/pkcs1-oaep
|
|
- ciY1a7eIFcRsx6t13tsrga0AtQHXxC7hitboOS5yiqNcBhB1zeWOVmShFukNZeKNooDhH
|
|
DjacDEI2vp61mvZphahyjbH9O1Zuoy/F2TNn3JO1EaFFMSiPvT6BH5UhRZnUwWMuP5sLP
|
|
6EogAAy02HglHck6H3+HSSLwawdW5zwXxUsQhjxItG0psKtIKBMHPwdBw+Iva8jexrtX6
|
|
jxgAm8NU8dr7BZs/wLPYQrLfiBF4mxOsYsjoSOQzWMqp0y/HUVd5YW01bUEeWHTkdL1ir
|
|
gU23UcMnC+MEwT7snK623i+fD5oW2L6TCvdJGMSpJLku60h9MXKx+KpM3gYU4OEst/Vfv
|
|
rwrIkwjE3CsXOiIORYB+Nq/RiMwHMEzA1EMAmg3Mgbr/JZNILh7nSY9AkbhI7wun1jFnN
|
|
mUE6zRBEkxgHj9W0R6imCEbHhm/pJD2Apxzkcjty9BuY/flT6dm14hHzn22kUf2Vu0AXF
|
|
GkyqHIO8ANkRkrrrVkMj9+wNoAynKVqa7MKS7Ye7XPAHdEsL9bXlaS0o6EAaGK5ApJ9mG
|
|
XZJ5pgSvl7dJ5So3YOkIT2PnwmpaF9iHIpjyk7+pjfk3oz3Gx2UdDdyxooZoDNOCIzoTC
|
|
aXORFbHQbvjAphygrFyr6h3NhOFsnZ8RC+HBgnAjyTRiqXdw5c5IMebMiWphoA=
|
|
api_token: !encrypted/pkcs1-oaep
|
|
- S60USRQz0l1eQtc5uXEJZzFf1IyDofbN5mHyMx/lAhdSLa/oc5UMjH/rF2dfQ57f1VZLi
|
|
qU8SkGDk5Qg0ODujdbH5rreKlLEg+r2YfUGMtN6cq/faOpoWu0TPEpHBcEd0B4HmgMBIl
|
|
LcDdKsQmooas1dAaEcOqxTn8LJXaBZlb5ABYrKeSo4j3pQZJtJRSBVdc8WBAtzWJK27q6
|
|
F390tT331JLDk4Q9pw9txc5iWIoftsPkR/RLWyuddZx9nYU1GLt5pS/Ep9HIbADmz2wWT
|
|
3f2mc+IE00ZautUuW1ikjhzelx/oXhUzIlwCuftXpTksDdeGn46IS9Qo2wA/clHRcmFUo
|
|
r08fp4cMWwOuBkVSIrICu07CuEBNNSroS4ZZGfHdowcHIFS5PUs0491lNZ8n8sKnN+H7C
|
|
+KXvKonyolD1YO7UTgZQGd+Nf0NMGDBagAZe08d28RL/yvAHScqssiFdOk6x0gejaLGNP
|
|
s1SW4/FePyJ4a/G4NqzYWfukEPnawONarv7sVxHyu4ZBGvN8yeh5K6KtOxyFanO0r/lO/
|
|
Dh6UGjVFGgfVagl9l1dpqLX3ENjrYTyQnxpytFpxLBr5xPgYiuSI8McH4JBrzsBkuP0Vd
|
|
orQikh+hhVTuMZ/arspkVA/LC7uZqp6UUq3jt9wWlES8/PLoEA+b43UQzBCHmM=
|
|
|
|
- job:
|
|
name: system-config-build-container-image
|
|
parent: opendev-build-container-image
|
|
dependencies: opendev-buildset-registry
|
|
abstract: true
|
|
vars: &system_config_image_vars
|
|
docker_mirror_base_url: "https://{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}"
|
|
zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}"
|
|
promote_container_image_method: intermediate-registry
|
|
container_command: podman
|
|
|
|
- job:
|
|
name: system-config-upload-container-image
|
|
parent: opendev-upload-container-image
|
|
dependencies: opendev-buildset-registry
|
|
abstract: true
|
|
vars: *system_config_image_vars
|
|
secrets:
|
|
name: container_registry_credentials
|
|
secret: system-config-quayio
|
|
pass-to-parent: true
|
|
|
|
- job:
|
|
name: system-config-promote-container-image
|
|
parent: opendev-promote-container-image
|
|
abstract: true
|
|
vars: *system_config_image_vars
|
|
secrets:
|
|
name: container_registry_credentials
|
|
secret: system-config-quayio
|
|
pass-to-parent: true
|