Files
n8n/.gitlab-ci.yml
2023-10-09 06:04:30 +00:00

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