Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
steering
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
AURA
steering
Merge requests
!26
FEAT(gitlab-ci):Push from Feature Branch
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
FEAT(gitlab-ci):Push from Feature Branch
feat-auto-deployment
into
main
Overview
0
Commits
2
Pipelines
4
Changes
1
Merged
Kay Effenberger
requested to merge
feat-auto-deployment
into
main
1 year ago
Overview
0
Commits
2
Pipelines
4
Changes
1
Expand
If a Merge Request on a feature Branch is created, the Image will pushed to gitlab registry
0
0
Merge request reports
Viewing commit
29259835
Prev
Next
Show latest version
1 file
+
2
−
2
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
29259835
FIX(gitlab-ci):No longer need "--all-tag"
· 29259835
Kay Effenberger
authored
1 year ago
.gitlab-ci.yml
+
19
−
8
Options
@@ -66,23 +66,34 @@ docker-push:
services
:
-
docker:dind
before_script
:
# default repo is docker.io (aka docker hub)
-
docker login -u "$DOCKER_ID" -p "$DOCKER_HUB_AUTH"
# 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
:
# every commit on main branch should build image as unstable
# every commit on main branch should build and push image as unstable
# elseif its a feature branch build and push to gitlab registry
# else it is from a tag (enforced by gitlab-ci rules)
# hint: tags are references independent of branches
# hint: feature branches must begin with "feat"
-
|
if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]
then docker build -t $AURA_IMAGE_NAME:unstable .
else docker build -t $AURA_IMAGE_NAME -t $AURA_IMAGE_NAME:$CI_COMMIT_TAG .
docker push $AURA_IMAGE_NAME:unstable
elif expr "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" : ^feat > /dev/null
then docker build -t $AURA_IMAGE_NAME -t $CI_REGISTRY_IMAGE:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME .
docker push $CI_REGISTRY_IMAGE:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
else docker build -t $AURA_IMAGE_NAME -t $AURA_IMAGE_NAME:$CI_COMMIT_TAG .
docker push $AURA_IMAGE_NAME:$CI_COMMIT_TAG
fi
# TODO: maybe isolate docker build and docker push
-
docker push "$AURA_IMAGE_NAME" --all-tags
rules
:
-
*release-rules
# every commit on master/main branch should trigger a push
to docker-hub as unstable without a release
-
if
:
$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# every commit on master/main
or feature
branch should trigger a push
-
if
:
$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|| $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feat/
exists
:
-
Dockerfile
Loading