更新.gitlab-ci.yml文件
This commit is contained in:
@@ -2,18 +2,23 @@ stages:
|
|||||||
- generate
|
- generate
|
||||||
- release
|
- release
|
||||||
|
|
||||||
|
variables:
|
||||||
|
TAGS: ""
|
||||||
|
|
||||||
generate:
|
generate:
|
||||||
stage: generate
|
stage: generate
|
||||||
image: python:3.11-alpine
|
image: python:3.11-alpine
|
||||||
script:
|
script:
|
||||||
- pip install -r requirements.txt
|
- pip install -r requirements.txt
|
||||||
- ./update.py > tags.txt
|
- ./update.py > tags.txt
|
||||||
|
rules:
|
||||||
|
# if specific version is set, don't run this job
|
||||||
|
- if: '$TAGS == ""'
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 hour
|
expire_in: 1 hour
|
||||||
paths:
|
paths:
|
||||||
- tags.txt
|
- tags.txt
|
||||||
|
|
||||||
|
|
||||||
release-image:
|
release-image:
|
||||||
needs:
|
needs:
|
||||||
- job: generate
|
- job: generate
|
||||||
@@ -22,6 +27,13 @@ release-image:
|
|||||||
stage: release
|
stage: release
|
||||||
services:
|
services:
|
||||||
- docker:dind
|
- docker:dind
|
||||||
|
rules:
|
||||||
|
# if not specific version is set, use artifacts from generate job
|
||||||
|
- if: '$TAGS == ""'
|
||||||
|
needs:
|
||||||
|
- job: generate
|
||||||
|
artifacts: true
|
||||||
|
- if: '$TAGS'
|
||||||
variables:
|
variables:
|
||||||
DOCKER_HOST: tcp://docker:2376
|
DOCKER_HOST: tcp://docker:2376
|
||||||
DOCKER_TLS_CERTDIR: "/certs"
|
DOCKER_TLS_CERTDIR: "/certs"
|
||||||
@@ -31,8 +43,9 @@ release-image:
|
|||||||
- until docker info; do sleep 1; done
|
- until docker info; do sleep 1; done
|
||||||
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
||||||
script:
|
script:
|
||||||
|
- if [ -z "$TAGS" ]; then export TAGS=$(cat tags.txt); fi
|
||||||
- |
|
- |
|
||||||
for tag in $(cat tags.txt); do
|
for tag in $TAGS; do
|
||||||
export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag
|
export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag
|
||||||
echo $IMAGE_TAG
|
echo $IMAGE_TAG
|
||||||
sed "s/latest/$tag/g" Dockerfile > Dockerfile.tmp
|
sed "s/latest/$tag/g" Dockerfile > Dockerfile.tmp
|
||||||
|
|||||||
Reference in New Issue
Block a user