Update .gitlab-ci.yml file
This commit is contained in:
@@ -22,8 +22,6 @@ before_script:
|
|||||||
sleep 5
|
sleep 5
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
needs:
|
needs:
|
||||||
- test
|
- test
|
||||||
@@ -33,14 +31,23 @@ build:
|
|||||||
- docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG .
|
- docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG .
|
||||||
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
|
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
|
||||||
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:latest
|
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:latest
|
||||||
|
|
||||||
push:
|
push:
|
||||||
needs:
|
needs:
|
||||||
- build
|
- build
|
||||||
stage: push
|
stage: push
|
||||||
script:
|
script:
|
||||||
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
|
- |
|
||||||
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
|
CURRENT_IMAGE_HASH=$(docker inspect --format='{{index .RepoDigests 0}}' $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG)
|
||||||
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
|
EXISTING_IMAGE_HASH=$(curl -s --header "PRIVATE-TOKEN: $CI_JOB_TOKEN" "https://gitlab.com/api/v4/projects/$CI_PROJECT_ID/registry/repositories/1/tags/$CI_COMMIT_REF_SLUG" | jq -r '.digest')
|
||||||
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest
|
if [ "$CURRENT_IMAGE_HASH" != "$EXISTING_IMAGE_HASH" ]; then
|
||||||
|
echo "Image has changed, pushing to the registry..."
|
||||||
|
echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
|
||||||
|
docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
|
||||||
|
docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
|
||||||
|
docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest
|
||||||
|
else
|
||||||
|
echo "Image is unchanged, skipping push."
|
||||||
|
fi
|
||||||
only:
|
only:
|
||||||
- main
|
- main
|
||||||
|
|||||||
Reference in New Issue
Block a user