diff --git a/worker-{{cookiecutter.slug}}/ci/build.sh b/worker-{{cookiecutter.slug}}/ci/build.sh index 5c0c9b03a2fd104fa80f24fbb7706f392081eec1..f29f50f27b88056216e6f880bb713012fc4e9956 100755 --- a/worker-{{cookiecutter.slug}}/ci/build.sh +++ b/worker-{{cookiecutter.slug}}/ci/build.sh @@ -14,15 +14,19 @@ if [ -z "$VERSION" -o -z "$CI_PROJECT_DIR" -o -z "$CI_REGISTRY_IMAGE" ]; then exit 1 fi -if [ -n "$CI_REGISTRY" -a -n "$CI_REGISTRY_USER" -a -n "$CI_REGISTRY_PASSWORD" ]; then - echo Logging in to container registry… - echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY -fi - IMAGE_TAG="$CI_REGISTRY_IMAGE:$VERSION" cd $CI_PROJECT_DIR docker build -f Dockerfile . -t "$IMAGE_TAG" -if [ -n "$CI_REGISTRY" ]; then - docker push "$IMAGE_TAG" + +# Publish the image on the main branch or on a tag +if [ "$CI_COMMIT_REF_NAME" = "main" -o -n "$CI_COMMIT_TAG" ]; then + if [ -n "$CI_REGISTRY" -a -n "$CI_REGISTRY_USER" -a -n "$CI_REGISTRY_PASSWORD" ]; then + echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY + docker push $IMAGE_TAG + else + echo "Missing environment variables to log in to the container registry…" + fi +else + echo "The build was not published to the repository registry (only for main branch or tags)…" fi