Skip to content
GitLab
Next
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • GitLab FOSS GitLab FOSS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 23
    • Issues 23
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLab FOSSGitLab FOSS
  • Issues
  • #38542
Closed
Open
Issue created Sep 28, 2017 by Mark Pundsack@markpundsackContributor

Add deploy strategies to Auto DevOps settings

Description

We already provide some ways for people to control the configuration of their application. With Auto DevOps, you can use our default Helm chart, or you can provide your own. Auto DevOps listens to variables like PRODUCTION_REPLICAS to set the number of pods to spin up when deploying to production. We should explore more configuration options, and make these first-class parts of GitLab.

Proposal

Add an Application Control Panel to project settings to tune the behavior of the application. Choices will work for Auto DevOps out of the box, but could be leveraged by any .gitlab-ci.yml file that uses the same variables. This should be mentioned in the panel, linking to documentation that explains what the settings are for.

The settings should be in the new foldable section introduced in https://gitlab.com/gitlab-org/gitlab-ce/issues/43466.

In this iteration, we need radio buttons showing two possible options as deploy strategies:

  • Continuous deployment to production
  • Automatic deployment to staging, manual deployment to production
  1. If you choose "Continuous deployment to production" (default), STAGING_ENABLED and INCREMENTAL_ROLLOUT_ENABLED variables will be unset.
  2. If you choose "Automatic deployment to staging, manual deployment to production", STAGING_ENABLED and INCREMENTAL_ROLLOUT_ENABLED will be set.

Designs

  • "Domain" and "Deployment strategy" always shows up if "Enable Auto DevOps" or "Instance default" is on. Otherwise, they are collapsed. The
  • In "Deployment strategy" section, it always has "Deployment strategy needs a domain name to work correctly." message to let users know it cannot work if there is no domain name.
Enable Auto DevOps / Instance default Disable Auto DevOps
01 02

Note: We won't place any "description" text below the deployment options as they are pretty self explanatory. The help ? icon should link as follows:

Continuous deployment to production -> https://docs.gitlab.com/ee/topics/autodevops/#auto-deploy

Automatic deployment to staging, manual deployment to production -> https://docs.gitlab.com/ce/ci/environments.html#manually-deploying-to-environments

Edited Jun 01, 2018 by Taurie Davis
Assignee
Assign to
Time tracking