test
This commit is contained in:
@@ -29,7 +29,7 @@ pre_push:
|
||||
- build
|
||||
stage: pre_push
|
||||
before_script:
|
||||
- apk add --no-cache curl jq
|
||||
- apk add --no-cache curl
|
||||
script:
|
||||
- echo "Running container to test image"
|
||||
- docker run -d --rm --name test_container $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
|
||||
@@ -54,23 +54,8 @@ push:
|
||||
needs:
|
||||
- pre_push
|
||||
stage: push
|
||||
before_script:
|
||||
- apk add --no-cache curl jq
|
||||
script:
|
||||
- echo docker inspect --format='{{if .RepoDigests}}{{index .RepoDigests 0}}{{else}}no_digest{{end}}' $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
|
||||
- |
|
||||
CURRENT_IMAGE_HASH=$(docker inspect --format='{{if .RepoDigests}}{{index .RepoDigests 0}}{{else}}no_digest{{end}}' $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG)
|
||||
EXISTING_IMAGE_HASH=$(curl -s --header "PRIVATE-TOKEN: $CI_JOB_TOKEN" "https://gl.beaconborn.ru/api/v4/projects/$CI_PROJECT_ID/registry/repositories/1/tags/$CI_COMMIT_REF_SLUG" | jq -r '.digest')
|
||||
|
||||
if [ "$CURRENT_IMAGE_HASH" != "$EXISTING_IMAGE_HASH" ] && [ "$CURRENT_IMAGE_HASH" != "no_digest" ]; 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
|
||||
- echo $EXISTING_IMAGE_HASH
|
||||
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
|
||||
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest
|
||||
only:
|
||||
- main
|
||||
|
||||
Reference in New Issue
Block a user