EnvironmentsΒΆ
marvinCIΒΆ
Weβre using our self-developed marvinCI to automatically deploy our GitLab projects to the π³ Docker servers.
However, as you can see in the next 2 chapters, we differ between Development environments, and Service environments.
Hint
Check out the environment documentations to see all available marvinCI MCI_*
environment variables.
Development environmentsΒΆ
For our self-developed projects, weβre leveraging the deployment pipeline of the Shared GitLab CI files.
This ensures that every branch gets automatically deployed to its own dedicated π³ Docker environment:
Environment |
Git ref |
π‘οΈ |
β»οΈ |
|
---|---|---|---|---|
Review |
Feature & hotfix branches |
|
β»οΈ |
|
Main |
|
|
π‘οΈ |
β»οΈ |
Release |
|
|
||
Stable |
Git tags |
|
π‘οΈ |
Note
Legend:
π‘οΈ Eternal branch, which will never be undeployed
β»οΈ Data clean up when a new commit is pushed (clean up = delete)
The {branch}
is a sluggified version of the branch name.
Important
All deployments are made to the development server.
In case MCI_DEPLOY_TAGLESS
is set, deploying to main
will directly result in the deployment of the stable, rather than the main environment.
Service environmentsΒΆ
For our βοΈ Services, weβre leveraging the service pipeline of the Shared GitLab CI files.
By setting the MCI_DEPLOY_SERVICE
CI variable, the deployment target can be controlled to one, or multiple of the following environments:
Environment / server |
Git ref |
|
|
---|---|---|---|
Test |
Non- |
contains |
|
Live |
|
contains |
|
Customers |
|
contains |
|
Management |
|
contains |
|
Environment subdomainsΒΆ
As described in the Development environments, and Service environments, weβre using a clear convention for the DNS hostnames of the deployments.
Most of these deployments will leverage our DNS wildcard domains, so that we donβt have to update the DNS records, each time weβre deploying, or undeploying an environment.
Deployment URLβs in GitLabΒΆ
Weβre leveraging GitLab Environments to simplify deployments, resp. deployment URLβs during the review. The environments, resp. deployment URLβs will be displayed within a GitLab project on several places:
In the corresponding GitLab CI pipeline job
In the merge request
Via
Operate
βEnvironments