43 lines
1011 B
YAML
43 lines
1011 B
YAML
stages:
|
|
- generate
|
|
- release
|
|
|
|
variables:
|
|
TAGS: ""
|
|
|
|
generate:
|
|
stage: generate
|
|
image: python:3.11-alpine
|
|
script:
|
|
- pip install -r requirements.txt
|
|
- ./update.py > tags.txt
|
|
rules:
|
|
# if specific version is set, don't run this job
|
|
- if: '$TAGS == ""'
|
|
artifacts:
|
|
expire_in: 1 hour
|
|
paths:
|
|
- tags.txt
|
|
|
|
release-image:
|
|
image: docker:24.0.6
|
|
stage: release
|
|
rules:
|
|
# if not specific version is set, use artifacts from generate job
|
|
- if: '$TAGS == ""'
|
|
needs:
|
|
- job: generate
|
|
artifacts: true
|
|
- if: '$TAGS'
|
|
before_script:
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- if [ -z "$TAGS" ]; then export TAGS=$(cat tags.txt); fi
|
|
- |
|
|
for tag in $TAGS; do
|
|
export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag
|
|
echo $IMAGE_TAG
|
|
sed "s/latest/$tag/g" Dockerfile > Dockerfile.tmp
|
|
docker build . --pull -f Dockerfile.tmp -t $IMAGE_TAG
|
|
docker push $IMAGE_TAG
|
|
done |