Design: CI/CD Component Catalog Vision

Release notes

Problem to solve

CI Templates lives in separate distributed projects which are scattered across GitLab. Developers don't have an easy way to access, understand and use the CI templates to create pipelines. For in-depth context about the problem, see the epic description.

This issue contains the visionary, high-level design exploration to inform the direction for the feature development. The resulting designs may not accurately represent the acceptance criteria or scope of the MVC implementation, and will need to be further refined and validated.

The next design iteration can be found in Design: Private CI/CD Component Catalog MVC

Intended users

Metrics

Tracked separately on #347178

UX definition of done

Click to expand

Problem Validation Phase

  • Problem is well understood and has been validated
  • JTBD is well understood and has been validated
  • PM has communicated the opportunity canvas to stable counterparts and group stakeholders, including the Product Designer and Product Design Manager

Design Phase

  • Document the JTBD and UX goal in the issue/epic description
  • Explore multiple different approaches as a team 👈
  • Discuss the technical implications with Engineering
    • Identify any potential cross-team dependencies and include the DRIs in the discussions
  • Identify a small set of options to validate

not applicable to the visionary exploration

- [ ] Document the user story(ies) for the MVC
- [ ] Consider edge cases for each user story
- [ ] Create prototypes or mockups for each user story
  • Pajamas component lifecyle
    • Identify component design or pattern update/creation
    • Discuss the technical implications with Engineering
    • Pajamas issue is created (within the scope of the MVC)
  • Update issues/epic descriptions
  • Proposed solution(s) identified and documented in the issue/epic description

Solution Validation Phase

  • Validate the solution to increase confidence in the proposed solution
  • Document the solution validation learnings
  • Product Designer has communicated the solution validation learnings to stable counterparts and group stakeholders, including the Product Design Manager
  • Update the MVC proposal with relevant insights from the solution validation
    • Discuss the technical implications with Engineering
    • Update issue/epic description to contain or link to the findings

JTBD

Once I have a stable development and operations organization, I want to author a CI pipeline so others in my team can leverage CI to increase the efficiency of their tasks.

User experience goal

When creating a pipeline I want to easily find a trusted pipeline template that matches my use case and get the guidance I need to customize that template to my needs.

Proposal

  • Allow users to publish CI/CD components to a public or private CI/CD catalog
  • Each CI/CD component will have its own project with a ReadMe which will contain usage guidelines and can be included in a project pipeline configuration as a pipeline building block
  • The CI/CD catalog will be accessible from within the GitLab application

Visionary designs

Permissions and Security

Documentation

Availability & Testing

Available Tier

  • Free

What does success look like, and how can we measure that?

What is the type of buyer?

Is this a cross-stage feature?

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.

Edited by Nadia Sotnikova