Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
759da767
Commit
759da767
authored
Sep 10, 2020
by
Shinya Maeda
Committed by
Alessio Caiazza
Sep 10, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add latest template for Auto Deploy template
This commit adds the latest template
parent
823c2e14
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
253 additions
and
2 deletions
+253
-2
doc/development/cicd/templates.md
doc/development/cicd/templates.md
+4
-2
lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml
lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml
+249
-0
No files found.
doc/development/cicd/templates.md
View file @
759da767
...
...
@@ -106,7 +106,8 @@ GitLab v14.0 could be so different that a user will want to continue using the v
after upgrading to GitLab 14.0.
You can add a note in the template or in documentation explaining how to use
`include:remote`
to include older template versions:
to include older template versions. If other templates are included with
`include: template`
,
they can be combined with the
`include: remote`
:
```
yaml
# To use the v13 stable template, which is not included in v14, fetch the specifc
...
...
@@ -114,7 +115,8 @@ to include older template versions:
# If you fetch from the GitLab canonical project, use the following URL format:
# https://gitlab.com/gitlab-org/gitlab/-/raw/<version>/lib/gitlab/ci/templates/<template-name>
include
:
remote
:
https://gitlab.com/gitlab-org/gitlab/-/raw/v13.0.1-ee/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml
-
template
:
Auto-DevOps.gitlab-ci.yml
-
remote
:
https://gitlab.com/gitlab-org/gitlab/-/raw/v13.0.1-ee/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml
```
### Further reading
...
...
lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml
0 → 100644
View file @
759da767
.auto-deploy
:
image
:
"
registry.gitlab.com/gitlab-org/cluster-integration/auto-deploy-image:v1.0.3"
dependencies
:
[]
review
:
extends
:
.auto-deploy
stage
:
review
script
:
-
auto-deploy check_kube_domain
-
auto-deploy download_chart
-
auto-deploy ensure_namespace
-
auto-deploy initialize_tiller
-
auto-deploy create_secret
-
auto-deploy deploy
-
auto-deploy persist_environment_url
environment
:
name
:
review/$CI_COMMIT_REF_NAME
url
:
http://$CI_PROJECT_ID-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN
on_stop
:
stop_review
artifacts
:
paths
:
[
environment_url.txt
,
tiller.log
]
when
:
always
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
==
"master"'
when
:
never
-
if
:
'
$REVIEW_DISABLED'
when
:
never
-
if
:
'
$CI_COMMIT_TAG
||
$CI_COMMIT_BRANCH'
stop_review
:
extends
:
.auto-deploy
stage
:
cleanup
variables
:
GIT_STRATEGY
:
none
script
:
-
auto-deploy initialize_tiller
-
auto-deploy delete
environment
:
name
:
review/$CI_COMMIT_REF_NAME
action
:
stop
allow_failure
:
true
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
==
"master"'
when
:
never
-
if
:
'
$REVIEW_DISABLED'
when
:
never
-
if
:
'
$CI_COMMIT_TAG
||
$CI_COMMIT_BRANCH'
when
:
manual
# Staging deploys are disabled by default since
# continuous deployment to production is enabled by default
# If you prefer to automatically deploy to staging and
# only manually promote to production, enable this job by setting
# STAGING_ENABLED.
staging
:
extends
:
.auto-deploy
stage
:
staging
script
:
-
auto-deploy check_kube_domain
-
auto-deploy download_chart
-
auto-deploy ensure_namespace
-
auto-deploy initialize_tiller
-
auto-deploy create_secret
-
auto-deploy deploy
environment
:
name
:
staging
url
:
http://$CI_PROJECT_PATH_SLUG-staging.$KUBE_INGRESS_BASE_DOMAIN
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
!=
"master"'
when
:
never
-
if
:
'
$STAGING_ENABLED'
# Canaries are disabled by default, but if you want them,
# and know what the downsides are, you can enable this by setting
# CANARY_ENABLED.
canary
:
extends
:
.auto-deploy
stage
:
canary
allow_failure
:
true
script
:
-
auto-deploy check_kube_domain
-
auto-deploy download_chart
-
auto-deploy ensure_namespace
-
auto-deploy initialize_tiller
-
auto-deploy create_secret
-
auto-deploy deploy canary
environment
:
name
:
production
url
:
http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
!=
"master"'
when
:
never
-
if
:
'
$CANARY_ENABLED'
when
:
manual
.production
:
&production_template
extends
:
.auto-deploy
stage
:
production
script
:
-
auto-deploy check_kube_domain
-
auto-deploy download_chart
-
auto-deploy ensure_namespace
-
auto-deploy initialize_tiller
-
auto-deploy create_secret
-
auto-deploy deploy
-
auto-deploy delete canary
-
auto-deploy delete rollout
-
auto-deploy persist_environment_url
environment
:
name
:
production
url
:
http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN
artifacts
:
paths
:
[
environment_url.txt
,
tiller.log
]
when
:
always
production
:
<<
:
*production_template
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$STAGING_ENABLED'
when
:
never
-
if
:
'
$CANARY_ENABLED'
when
:
never
-
if
:
'
$INCREMENTAL_ROLLOUT_ENABLED'
when
:
never
-
if
:
'
$INCREMENTAL_ROLLOUT_MODE'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
==
"master"'
production_manual
:
<<
:
*production_template
allow_failure
:
false
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$INCREMENTAL_ROLLOUT_ENABLED'
when
:
never
-
if
:
'
$INCREMENTAL_ROLLOUT_MODE'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
==
"master"
&&
$STAGING_ENABLED'
when
:
manual
-
if
:
'
$CI_COMMIT_BRANCH
==
"master"
&&
$CANARY_ENABLED'
when
:
manual
# This job implements incremental rollout on for every push to `master`.
.rollout
:
&rollout_template
extends
:
.auto-deploy
script
:
-
auto-deploy check_kube_domain
-
auto-deploy download_chart
-
auto-deploy ensure_namespace
-
auto-deploy initialize_tiller
-
auto-deploy create_secret
-
auto-deploy deploy rollout $ROLLOUT_PERCENTAGE
-
auto-deploy scale stable $((100-ROLLOUT_PERCENTAGE))
-
auto-deploy delete canary
-
auto-deploy persist_environment_url
environment
:
name
:
production
url
:
http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN
artifacts
:
paths
:
[
environment_url.txt
,
tiller.log
]
when
:
always
.manual_rollout_template
:
&manual_rollout_template
<<
:
*rollout_template
stage
:
production
resource_group
:
production
allow_failure
:
true
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$INCREMENTAL_ROLLOUT_MODE
==
"timed"'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
!=
"master"'
when
:
never
# $INCREMENTAL_ROLLOUT_ENABLED is for compamtibilty with pre-GitLab 11.4 syntax
-
if
:
'
$INCREMENTAL_ROLLOUT_MODE
==
"manual"
||
$INCREMENTAL_ROLLOUT_ENABLED'
when
:
manual
.timed_rollout_template
:
&timed_rollout_template
<<
:
*rollout_template
rules
:
-
if
:
'
$CI_KUBERNETES_ACTIVE
==
null
||
$CI_KUBERNETES_ACTIVE
==
""'
when
:
never
-
if
:
'
$INCREMENTAL_ROLLOUT_MODE
==
"manual"'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
!=
"master"'
when
:
never
-
if
:
'
$INCREMENTAL_ROLLOUT_MODE
==
"timed"'
when
:
delayed
start_in
:
5 minutes
timed rollout 10%
:
<<
:
*timed_rollout_template
stage
:
incremental rollout 10%
variables
:
ROLLOUT_PERCENTAGE
:
10
timed rollout 25%
:
<<
:
*timed_rollout_template
stage
:
incremental rollout 25%
variables
:
ROLLOUT_PERCENTAGE
:
25
timed rollout 50%
:
<<
:
*timed_rollout_template
stage
:
incremental rollout 50%
variables
:
ROLLOUT_PERCENTAGE
:
50
timed rollout 100%
:
<<
:
*timed_rollout_template
<<
:
*production_template
stage
:
incremental rollout 100%
variables
:
ROLLOUT_PERCENTAGE
:
100
rollout 10%
:
<<
:
*manual_rollout_template
variables
:
ROLLOUT_PERCENTAGE
:
10
rollout 25%
:
<<
:
*manual_rollout_template
variables
:
ROLLOUT_PERCENTAGE
:
25
rollout 50%
:
<<
:
*manual_rollout_template
variables
:
ROLLOUT_PERCENTAGE
:
50
rollout 100%
:
<<
:
*manual_rollout_template
<<
:
*production_template
allow_failure
:
false
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment