oci-images/.woodpecker/keycloak.yaml

74 lines
2.1 KiB
YAML
Raw Normal View History

when:
- event: push
path:
- 'keycloak/**'
- '.woodpecker/keycloak.yaml'
- event: cron
cron: daily
# Manually set a workspace path, so we can use it literally, without using
# ${CI_WORKSPACE}, when running kaniko, since using ${CI_WORKSPACE} doesn't work.
# https://github.com/woodpecker-ci/woodpecker/issues/3982
workspace:
path: src
# Use matrix to set KEYCLOAK_VERSION instead of setting the KEYCLOAK_VERSION as
# an environment variable in the build-images step, since string substitution
# doesn't work for custom environment variables.
# https://github.com/woodpecker-ci/woodpecker/issues/3983
# Also because global environment variables aren't a thing.
matrix:
KEYCLOAK_VERSION:
- 25.0
IMAGE_NAME:
- git.hamburg.ccc.de/ccchh/oci-images/keycloak
steps:
- name: setup-image-path
image: alpine
commands:
- mkdir /woodpecker/images
- name: build-image
image: gcr.io/kaniko-project/executor
entrypoint:
- /kaniko/executor
- --context=dir:///woodpecker/src/keycloak
- --dockerfile=./Containerfile
- --build-arg=TAG=${KEYCLOAK_VERSION}
- --destination=${IMAGE_NAME}:${KEYCLOAK_VERSION}
- --no-push
- --tar-path=/woodpecker/images/keycloak.tar
- name: publish-image
image: alpine
secrets:
- GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane push /woodpecker/images/keycloak.tar $IMAGE_NAME:$KEYCLOAK_VERSION-$CI_COMMIT_BRANCH
- name: tag-version
image: alpine
when:
- branch: main
secrets:
- GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_NAME:$KEYCLOAK_VERSION-$CI_COMMIT_BRANCH $KEYCLOAK_VERSION
- name: tag-latest
image: alpine
when:
- branch: main
evaluate: 'KEYCLOAK_VERSION == "25.0"'
secrets:
- GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_NAME:$KEYCLOAK_VERSION-$CI_COMMIT_BRANCH latest