diff --git a/.gitlab/ci/.build-container.yml b/.gitlab/ci/.build-container.yml index 85c948fd1dbcc61b041e6320ab11864be283a4ff..40066b9a85468bc75ec606ffacd543bcd37cddae 100644 --- a/.gitlab/ci/.build-container.yml +++ b/.gitlab/ci/.build-container.yml @@ -8,27 +8,30 @@ build-docker: allow_failure: false needs: [] variables: - TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH + TAG: $CI_COMMIT_BRANCH tags: - shell-builder rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH variables: - TAG: $CI_REGISTRY_IMAGE:latest + TAG: latest - if: $CI_COMMIT_BRANCH == "develop" variables: - TAG: $CI_REGISTRY_IMAGE:develop + TAG: develop BUILDARGS: -race - when: always - variables: - TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME + TAG: $CI_COMMIT_SHA script: + # replace all slashes in the tag with hyphen, because slashes are not allowed in tags + - TAG=${TAG//\//-} + - TARGET=$CI_REGISTRY_IMAGE:$TAG - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build --build-arg GITLAB_USER=$GO_MODULES_USER --build-arg GITLAB_TOKEN=$GO_MODULES_ACCESS_TOKEN --build-arg BUILDARGS=$BUILDARGS -t $DOCKER_IMAGE_SHA . - docker push $DOCKER_IMAGE_SHA - - docker tag $DOCKER_IMAGE_SHA $TAG - - docker push $TAG + - docker tag $DOCKER_IMAGE_SHA $TARGET + - docker push $TARGET - docker build --target installer --build-arg GITLAB_USER=$GO_MODULES_USER --build-arg GITLAB_TOKEN=$GO_MODULES_ACCESS_TOKEN --build-arg BUILDARGS=$BUILDARGS -t ${CI_REGISTRY_IMAGE}:testing_${CI_PIPELINE_ID} . - docker push ${CI_REGISTRY_IMAGE}:testing_${CI_PIPELINE_ID}