Pipeline view of environments
Description
We currently show the list of environments, and which code is deployed to each. We can improve on the display a bit to convey upstream/downstream environments, and at the same time, add valuable information such as which merge requests are deployed to each environment, that are not in the downstream environment.
We support arbitrary deployment pipelines such as staging and production, but also UAT, QA, testing, whatever. Since we don't inherently know the direction of flow between environments, perhaps you could move the columns around to order the environments how you like.
We should show the current status of each environment, grouped by major category (review, staging, production), and let you trigger manual actions to promote between them.
Then a key value-add for us is to display the MR information for each environment. e,g. list out which MRs are in staging, but not yet in production.
Proposal
Notes
- I'm not sure the deployment pod status is necessary on this page.
- We can't detect review apps with 100% certainty. We suggest naming review app environments like
review/*
, but it's not enforced. We should degrade gracefully if not. For example, just call the column "Review" so it matches the rest of the column names and can be autogenerated however you name your folder. Maybe we hide the deployment information for any group of environments, which implies the current design would not show the nodes for Staging. Or maybe we just hide things that only have 1 pod. - Manual actions all have unique names that are user-specified in
.gitlab-ci.yml
. We could detect deploys between environments much like we do today for chat commands so we can still construct a Promote function.