Skip to content

Link to deployment details page

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

What does this MR do and why?

Only expose the web path when the deployment_details_page feature flag is enabled. This covers a few ways the user can make it into the deployment details page.

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

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. Navigate to http://<gdk-url>/<namespace>/<project>/-/environments/ and click on the deployment's status badge

Merge request reports