42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
stages:
|
|
- generate
|
|
- build
|
|
|
|
variables:
|
|
#CI_DEBUG_TRACE: "true"
|
|
CACHE_TTL: 2190h0m0s
|
|
|
|
generate:
|
|
stage: generate
|
|
image: python:3.11-alpine
|
|
script:
|
|
- pip install -r requirements.txt
|
|
- ./update.py > tags.txt
|
|
artifacts:
|
|
paths:
|
|
- tags.txt
|
|
|
|
|
|
build:
|
|
stage: build
|
|
needs:
|
|
- job: generate
|
|
artifacts: true
|
|
variables:
|
|
KANIKO_ARGS: "--cache=true --cache-repo $CI_REGISTRY_IMAGE --cache-ttl $CACHE_TTL"
|
|
KANIKO_BUILD_CONTEXT: $CI_PROJECT_DIR
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:debug
|
|
entrypoint: [""]
|
|
script:
|
|
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
|
|
- mkdir -p /kaniko/.docker
|
|
- |
|
|
for tag in $(cat tags.txt); do
|
|
export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag
|
|
echo $IMAGE_TAG
|
|
DOCKERFILE_PATH=$KANIKO_BUILD_CONTEXT/Dockerfile
|
|
sed "s/latest/$tag/g" $DOCKERFILE_PATH > $DOCKERFILE_PATH.tmp
|
|
/kaniko/executor --context $KANIKO_BUILD_CONTEXT --dockerfile $DOCKERFILE_PATH.tmp --destination $IMAGE_TAG $KANIKO_ARGS
|
|
done
|