Skip to content

Roll out deployment details page

Andrew Fontaine requested to merge afontaine/roll-out-deployment-details into master

What does this MR do and why?

The deployment details page is mostly for managing approvals at the moment, but a feedback banner is in place to better understand what users might be looking for.

Changelog: added

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

This feature flag is live on production, there are no visual changes.

image

How to set up and validate locally

  1. Enable the feature flag deployment_details_page
  2. Add the following GitLab CI Yaml to a project
Click to expand
stages:
    - deploy
    - stop
image: alpine:latest

deploy-prod:
    stage: deploy
    script:
        - sleep 10
        - echo "deploying prod"
    environment:
        name: production
        url: postgres://example.com

deploy-staging:
    stage: deploy
    script:
        - echo "deploying staging I hope"
    environment:
        name: staging
        url: https://example.com
        on_stop: stop-staging
    when: manual

stop-staging:
  stage: stop
  script:
    - echo "stopping staging"
    - sleep 600
  environment:
    name: staging
    action: stop
  when: manual

deploy-development:
    stage: deploy
    script:
        - echo "deploying development"
    environment:
        name: development
        url: https://example.com
    when: manual

deploy-review:
    stage: deploy
    script:
        - echo "Deploying review/$CI_COMMIT_REF_NAME"
    environment:
        name: review/$CI_COMMIT_REF_NAME
        auto_stop_in: 1 week
    only:
        - branches
    except:
        - master
    when: manual


stop_review_app:
  script: stop-review-app
  stage: stop
  environment:
    name: review/$CI_COMMIT_REF_SLUG
    action: stop
  rules:
    - if: $CI_MERGE_REQUEST_ID
      when: manual
  1. Run pipelines to create environments/deployments
  2. Protect the Production environment by navigating to Settings > CI/CD and add at least one deployment rule and at least one approval rule.
  3. Run another pipeline.
  4. Navigate to http://<gdk-url>/<namespace>/<project>/-/environments/<environment id> and click on the deployment's status badge
  5. Check commit title link and verify it goes to the commit page.

For #438327 (closed)

Edited by Andrew Fontaine

Merge request reports