Skip to content
Snippets Groups Projects
Verified Commit 66f3c20e authored by Ernesto Rico Schmidt's avatar Ernesto Rico Schmidt
Browse files

ci: fix docker push

parent f9397639
No related branches found
No related tags found
No related merge requests found
...@@ -67,30 +67,35 @@ docker-push: ...@@ -67,30 +67,35 @@ docker-push:
AURA_IMAGE_NAME: "autoradio/steering" AURA_IMAGE_NAME: "autoradio/steering"
services: services:
- docker:dind - docker:dind
before_script:
# on a feature branch will login to gitlab registry
# else to docker hub
# hint: feature branches must begin with "feat"
- |
if expr "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" : ^feat > /dev/null
then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
else docker login -u "$DOCKER_ID" -p "$DOCKER_HUB_AUTH"
fi
script: script:
# every commit on main branch builds and pushes the image with labels "main" and "main-{hash}" # every commit on main branch should build and push image as main
# elseif its a protected branch build and push to gitlab registry # elseif it is a feature branch build and push to gitlab registry
# else it is from a tag (enforced by gitlab-ci rules) # else it is from a tag (enforced by gitlab-ci rules)
# hint: tags are references independent of branches # hint: tags are references independent of branches
# hint: feature branches must begin with "feat" # hint: feature branches must begin with "feat"
- | - |
if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ] if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]
then docker login -u "$DOCKER_ID" -p "$DOCKER_HUB_AUTH" then docker build -t $AURA_IMAGE_NAME:main .
docker build -t $AURA_IMAGE_NAME:main -t $AURA_IMAGE_NAME:main-$CI_COMMIT_SHORT_SHA . docker push $AURA_IMAGE_NAME:main
docker push --all-tags $AURA_IMAGE_NAME elif expr "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" : ^feat > /dev/null
elif [ "$CI_COMMIT_REF_PROTECTED" = "true" ] && [ "$CI_COMMIT_BRANCH" != "$CI_DEFAULT_BRANCH" ] then docker build -t $AURA_IMAGE_NAME -t $CI_REGISTRY_IMAGE:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME .
then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" docker push $CI_REGISTRY_IMAGE:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
docker build -t $AURA_IMAGE_NAME -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA . else docker build -t $AURA_IMAGE_NAME -t $AURA_IMAGE_NAME:$CI_COMMIT_TAG .
docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA docker push $AURA_IMAGE_NAME:$CI_COMMIT_TAG
else
docker login -u "$DOCKER_ID" -p "$DOCKER_HUB_AUTH"
docker build -t $AURA_IMAGE_NAME -t $AURA_IMAGE_NAME:$CI_COMMIT_TAG .
docker push $AURA_IMAGE_NAME:$CI_COMMIT_TAG
fi fi
rules: rules:
- *release-rules - *release-rules
# every commit on master/main or feature branch should trigger a push # every commit on master/main or feature branch should trigger a push
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_PROTECTED =~ "true" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feat/
exists: exists:
- Dockerfile - Dockerfile
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment