Public pipeline page MVC
Problem to solve
With #7861 (closed) 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.
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: #3247 (comment 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:
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.
This will help contribute to our vision for a single tool for the entire DevOps lifecycle by lifting up the Visible pillar.
Start by creating a publicly accessible dashboard at the group level that uses components similar to #7861 (closed) to display the results of the pipelines in that group
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.
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