Skip to content
GitLab Next
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 44,105
    • Issues 44,105
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,321
    • Merge requests 1,321
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #332103
Closed
Open
Created May 27, 2021 by Nathan Friend@nfriend⚠Contributor0 of 6 checklist items completed0/6 checklist items

Connection between releases and environments/deployments

Release notes

Problem to solve

As a user, I want to understand what release is deployed to what environments, so that I can better manage my application.

Intended users

  • Devon (DevOps Engineer)
  • Rachel (Release Manager)

User experience goal

The user should be able to connect understand what deployments and environments and connected to specific releases in the API and UI.

Proposal

Create a connection between Releases and Environments/Deployments.

Further details

GitLab has the concept of releases and also has a separate concept of environments/deployments. These two concepts are currently independent and have no first-class association/integration with each other.

Today with GitLab, it is a long process to look for SHA in the release, and then look for it in the environment pipelines, which is a challenge for non developers.

Users want to understand what release is deployed to what environments and be able to roll them back if there was issues deploying.

There are lots of things GitLab could do with this extra info:

  • On the Releases page, show which environments are currently running the release
  • On The Environments page, show which release is currently deployed to each environment
  • On the Releases page, each release could have a "deploy to" action, which deploys the release to an existing environment
  • Rollback an environments to the previous major/minor/patch release
  • "Release pipeline" view, which shows how a release moves through environments (including manual approvals)
    • For example: dev → qa → staging → manual approval → prod
  • Drag and drop a release onto an environment

Releases and deployments both have reference to a Git SHA. This SHA could be used to join a release to a deployment (and vice-versa).

A concrete next step would be to add this association to the GraphQL API:

  • Add a deployments sub-property to the release type, which fetches all deployments for the given release
  • Add a releases sub-property to the deployment type, which fetches all releases for the given deployment

Note: this relationship would be many-to-many, since multiple releases and multiple deployments can all be associated with the same Git SHA.

Permissions and Security

  • Add expected impact to members with no access (0)
  • Add expected impact to Guest (10) members
  • Add expected impact to Reporter (20) members
  • Add expected impact to Developer (30) members
  • Add expected impact to Maintainer (40) members
  • Add expected impact to Owner (50) members

Documentation

Yes, this will require an update to our docs - Technical Writing

Availability & Testing

Available Tier

Feature Usage Metrics

What does success look like, and how can we measure that?

What is the type of buyer?

Is this a cross-stage feature?

Links / references

#330084

Edited Mar 04, 2022 by Rayana Verissimo
Assignee
Assign to
Time tracking