diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
commit | a09983ae35713f5a2bbb100981116d31ce99826e (patch) | |
tree | 2ee2af7bd104d57086db360a7e6d8c9d5d43667a /doc/topics/autodevops/upgrading_chart.md | |
parent | 18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff) | |
download | gitlab-ce-a09983ae35713f5a2bbb100981116d31ce99826e.tar.gz |
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'doc/topics/autodevops/upgrading_chart.md')
-rw-r--r-- | doc/topics/autodevops/upgrading_chart.md | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/doc/topics/autodevops/upgrading_chart.md b/doc/topics/autodevops/upgrading_chart.md new file mode 100644 index 00000000000..e4dacdfcf5b --- /dev/null +++ b/doc/topics/autodevops/upgrading_chart.md @@ -0,0 +1,72 @@ +# Upgrading auto-deploy-app chart for Auto DevOps + +Auto DevOps provides the auto-deploy-app chart for deploying your application to the +Kubernetes cluster with Helm/Tiller. Major version changes of this chart could have +a significantly different resource architecture, and may not be backwards compatible. + +This guide provides instructions on how to upgrade your deployments to use the latest +chart and resource architecture. + +## Compatibility + +The following table lists the version compatibility between GitLab and [auto-deploy-image](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image) (with the [auto-deploy-app chart](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image/-/tree/master/assets/auto-deploy-app)). + +| GitLab version | auto-deploy-image version | Notes | +|------------------|---------------------------|--------------------------------------------| +| v10.0 and higher | v0.1.0 and higher | v0 and v1 charts are backwards compatible. | + +## Upgrade Guide + +The Auto DevOps project must use the unmodified chart managed by GitLab. +[Customized charts](customize.md#custom-helm-chart) are unsupported. + +### v1 chart + +The v1 chart is backward compatible with the v0 chart, so no configuration changes are needed. + +## Troubleshooting + +### Major version mismatch warning + +If deploying a chart that has a major version that is different from the previous one, +the new chart might not be correctly deployed. This could be due to an architectural +change. If that happens, the deployment job fails with a message similar to: + +```plaintext +************************************************************************************* + [WARNING] +Detected a major version difference between the the chart that is currently deploying (auto-deploy-app-v0.7.0), and the previously deployed chart (auto-deploy-app-v1.0.0). +A new major version might not be backward compatible with the current release (production). The deployment could fail or be stuck in an unrecoverable status. +... +``` + +To clear this error message and resume deployments, you must do one of the following: + +- Manually [upgrade the chart version](#upgrade-guide). +- [Use a specific chart version](#use-a-specific-chart-version). + +#### Use a specific chart version + +To use a specific chart version, you must specify a corresponding version of [auto-deploy-image](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image). +Do this by [customizing the image in your `.gitlab-ci.yml`](customize.md#customizing-gitlab-ciyml). + +For example, create the following `.gitlab-ci.yml` file in the project. It configures Auto DevOps +to use [auto-deploy-image](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image) version `v0.17.0` +for deployment jobs. It will download the chart from [chart repository](https://charts.gitlab.io/): + +```yaml +include: + - template: Auto-DevOps.gitlab-ci.yml + +.auto-deploy: + image: "registry.gitlab.com/gitlab-org/cluster-integration/auto-deploy-image:v0.17.0" +``` + +### Ignore warning and continue deploying + +If you are certain that the new chart version is safe to be deployed, +you can add the `AUTO_DEVOPS_ALLOW_TO_FORCE_DEPLOY_V<N>` [environment variable](customize.md#build-and-deployment) +to force the deployment to continue, where `<N>` is the major version. + +For example, if you want to deploy the v2.0.0 chart on a deployment that previously +used the v0.17.0 chart, add `AUTO_DEVOPS_ALLOW_TO_FORCE_DEPLOY_V2`. |