70 lines
2 KiB
YAML
70 lines
2 KiB
YAML
when:
|
|
- event: push
|
|
- 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: test
|
|
image: debian
|
|
commands:
|
|
- echo "miau" > test
|
|
- name: test-2
|
|
image: debian
|
|
environment:
|
|
MY_COOL_TEST_VAR: test
|
|
entrypoint:
|
|
- /usr/bin/cat
|
|
- $${MY_COOL_TEST_VAR}"
|
|
- name: build-image
|
|
image: gcr.io/kaniko-project/executor
|
|
environment:
|
|
MY_COOL_TEST_VAR: 25.0
|
|
entrypoint:
|
|
- /kaniko/executor
|
|
- --context=dir:///woodpecker/src/keycloak
|
|
- --dockerfile=./Containerfile
|
|
- --build-arg=TAG=$${MY_COOL_TEST_VAR}
|
|
- --destination=${IMAGE_NAME}:$${MY_COOL_TEST_VAR}
|
|
- --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:$CI_COMMIT_BRANCH
|
|
- name: tag-version-and-latest
|
|
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:$CI_COMMIT_BRANCH $KEYCLOAK_VERSION
|
|
- crane tag $IMAGE_NAME:$CI_COMMIT_BRANCH latest
|