Public pipeline page MVC
Problem to solve
With https://gitlab.com/gitlab-org/gitlab-ee/issues/7861 we added the ability to show pipeline status in a dashboard form for logged in users which is user specific.
However, many open source or other projects that may be used as libraries or tools for other projects have a desire to expose pipeline status more broadly or even publically. This can be shown by organizations such as the CNCF or OpenEBS creating front end public displays for their GitLab pipelines:
As well as a number of open source projects:
We should add the ability for users to create these type of dashboards, perhaps at the group or instance level.
Intended users
In the enterprise, DevOps Engineers such as Devon to help DevOps Directors and other key stakeholders understand pipeline status
In opensource, maintainers of those tools to communicate easily to the consumers of open source tools (developers, DevOps engineers, etc) the current pipeline status
The CNCF has also provided feedback on what's needed here: https://gitlab.com/gitlab-org/gitlab-ee/issues/3247#note_133479059
We have upcoming changes for the cncf.ci dashboard and this mock should be considered a reference for ideas only at this point.
The Deployment View mock above was for showing results from different areas of GitLab (and other systems) in one view. An example of two GitLab screens having data we would have combined into the single view are the Pipeline and Jobs views. Example:
- https://gitlab.cncf.ci/prometheus/prometheus/pipelines
- https://gitlab.cncf.ci/prometheus/prometheus/-/jobs
Other mocks show drop downs with more data about the test results which could be seen on other views in GitLab.
Beyond those items, the cncf.ci dashboard and status repository underneath have the goal of showing status results from different CI systems where GitLab is one of those systems. ONAP for instance has status information coming from their Jenkins servers.
Further details
This will help contribute to our vision for a single tool for the entire DevOps lifecycle by lifting up the Visible pillar.
Proposal
Start by creating a publicly accessible version of the Operations Dashboard.
Possible iterations
- Display runner information / runners associated with the pipeline
- Display pipeline duration
- Display status of pre-defined stages 'Build', 'Test', 'Deploy'
- Display status of custom stage names
Permissions and Security
We may need to consider permissions and security here, and allow administrators to lock down this feature and/or groups to opt out.
Documentation
What does success look like, and how can we measure that?
We will need to add ~telemetry to track usage around:
- Enabling/configuring the dashboards
- Page views of the dashboards
What is the type of buyer?
Links / references
Internal: https://gitlab.slack.com/archives/C3MAZRM8W/p1554250862038700
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.