43 lines
1.3 KiB
YAML
43 lines
1.3 KiB
YAML
steps:
|
|
- id: 'Setup Buildx for Multi-Architecture Builds'
|
|
name: 'gcr.io/cloud-builders/docker'
|
|
args: ['buildx', 'create', '--driver', 'docker-container', '--name', 'multiarch', '--use']
|
|
|
|
- id: 'Build and Push Image to Artifact Registry'
|
|
name: 'gcr.io/cloud-builders/docker'
|
|
entrypoint: 'bash'
|
|
args:
|
|
- '-c'
|
|
- |
|
|
docker buildx build --platform linux/amd64,linux/arm64 \
|
|
-t ${_AR_REGION}-docker.pkg.dev/$PROJECT_ID/${_AR_REPO_NAME}/${_IMAGE_NAME}:latest \
|
|
-f Dockerfile \
|
|
--push ctx
|
|
|
|
- id: 'Create and Push Image to GitHub Container Registry'
|
|
name: 'gcr.io/cloud-builders/docker'
|
|
entrypoint: 'bash'
|
|
secretEnv: ['GH_PAT']
|
|
args:
|
|
- '-c'
|
|
- |
|
|
echo $$GH_PAT | docker login ghcr.io -u $_REGISTRY_USER --password-stdin && \
|
|
docker buildx imagetools create \
|
|
-t ghcr.io/$_REGISTRY_USER/$_IMAGE_NAME:latest \
|
|
${_AR_REGION}-docker.pkg.dev/$PROJECT_ID/${_AR_REPO_NAME}/${_IMAGE_NAME}:latest && \
|
|
docker logout ghcr.io
|
|
|
|
availableSecrets:
|
|
secretManager:
|
|
- versionName: projects/$PROJECT_ID/secrets/alpine-cli-ghcr-token/versions/latest
|
|
env: 'GH_PAT'
|
|
|
|
substitutions:
|
|
_IMAGE_NAME: 'alpine-cli'
|
|
_BRANCH: '3'
|
|
_REGISTRY_USER: 'jswank'
|
|
|
|
options:
|
|
logging: CLOUD_LOGGING_ONLY
|
|
substitutionOption: 'ALLOW_LOOSE'
|