Public pipeline page MVC

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

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:

image

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:

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.

Edited by 🤖 GitLab Bot 🤖