GitLab Components are a new and improved way of creating reusable single pipeline configuration units. Components are an evolution over templates and have recently been introduced by GitLab.
As of the moment of creating this ticket we only have one GitLab Component, the Blunderbuss Bugler, but there are many CI/CD templates in workflow_utils that can and should be converted into components so we can future-proof and keep up to date with GitLab evolution.
In order to create a component and publish it to GitLab's Component Registry, the project/repository containing component code needs to adhere to a certain layout, and the project/repository itself needs to be marked as a Component project in its settings.
Therefore, we need a single project/repository to keep all our Components, with its own CI/CD setup that enables us to test the components and publish releases into GitLab's registry.
Work that needs to be done, itemized:
- Determine whether a GitLab Component project can hold other kinds of code. If yes, convert the workflow_utils project into a GitLab Component project. If no, create a new project dedicated to components.
- Convert existing workflow_utils templates to components, where possible/applicable.
- Move the Blunderbuss Bugler component into this new project.