Skip to content

Show deployment approval comments

Andrew Fontaine requested to merge afontaine/374538/approval-timeline into master

What does this MR do and why?

Adds a notable-style comment timeline for deployment approvals.

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

image

I know, we should add a column in this table for Rejections. I'll follow-up with that in another MR.

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>/deployments/<deployment iid>

For #374538 (closed)

Merge request reports