Feature Request: Visualize CI code for each specific pipeline run
Release notes
Problem to solve
As a "GitLab support team" we want to be able to quickly find the root cause of a pipeline/job failure (pipeline definition change, environment change, problem in the code base, etc.). We often receive queries of the type "Yesterday/last week/last month my pipeline worked, but today it fails - what happened?".
CI/CD processes can rely on a complex system of pipeline templates stored in dedicated repositories, involving intricate referencing between files. Although the primary .gitlab-ci.yml file may be concise, the "Full configuration" tab in the Pipeline Editor would display an extensive 3000+ lines due to template dependencies.
The challenge arises when collaborators modify the template repository, causing subsequent pipeline runs to inherit new versions, making it challenging to pinpoint changes between executions. This complexity hinders our ability to quickly identify the root cause of pipeline failures as we investigate issues across different states of the templates repository.
I want the ability to visualize the CI code associated with each specific pipeline run directly within the GitLab Pipelines interface. This will enhance transparency, streamline collaboration, and simplify the debugging process.
Intended users
User experience goal
When visualizing any specific pipeline run, the user should be able to navigate to a dedicated tab or section within a given pipeline run, where they'll have easy access to each CI file used to execute the pipeline, and their respective git ref
used at the time the pipeline was run.
This feature aims to simplify the understanding of the CI configuration associated with each pipeline, improving the overall user experience.
Proposal
- Introduce a new tab or section within the pipeline run view (/-/pipelines/<pipeline_id>)
- Display each CI file referenced, and their corresponding git
ref
- Add the option to build the pipeline's "Full configuration", based on the git
refs
used when it was run - Include API support where this same information can be fetched and parsed, for automation purposes
Further details
Use Cases
- Users can quickly analyze the CI configuration without navigating through multiple files or repositories.
- Enhanced collaboration among team members, allowing for quick troubleshooting and allowing separate teams to operate independently, without compromising each other.
Benefits
- Facilitates transparency by exposing the CI code directly within the GitLab Pipelines interface.
- Streamlines debugging and troubleshooting by providing direct access to the relevant CI code during or after a pipeline run.
Permissions and Security
- No new permissions are introduced with this feature.
- Access controls will be consistent with existing permissions for viewing pipeline details.
Documentation
Documentation will be provided to guide users on accessing and utilizing the new CI code visualization feature.
Availability & Testing
- TBD
Available Tier
- TBD
Feature Usage Metrics
- TBD
What does success look like, and how can we measure that?
- Decrease in support tickets for troubleshooting high complexity pipeline failures
Is this a cross-stage feature?
- TBD
What is the competitive advantage or differentiation for this feature?
- This feature adds support for high complexity CI/CD environments, which is the beating heart of GitLab.
Links / references
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.