Tutorial: Create a compliance pipeline (ULTIMATE)
You can use compliance pipelines to ensure specific compliance-related jobs are run on pipelines for all projects in a group. Compliance pipelines are applied to projects through compliance frameworks.
In this tutorial, you:
- Create a new group.
- Create a new project for the compliance pipeline configuration.
- Configure a compliance framework to apply to other projects.
- Create a new project and apply the compliance framework to it.
- Combine compliance pipeline configuration and regular pipeline configuration.
Prerequisites:
- Permission to create new top-level groups.
Create a new group
Compliance frameworks are configured in top-level groups. In this tutorial, you create a top-level group that:
- Contains two projects:
- The compliance pipeline project to store the compliance pipeline configuration.
- Another project that must run a job in its pipeline that is defined by the compliance pipeline configuration.
- Has the compliance framework to apply to projects.
To create the new group:
- On the top bar, select Create new... > New group.
- Select Create group.
- In the Group name field, enter
Tutorial group
. - Select Create group.
Create a new compliance pipeline project
Now you're ready to create a compliance pipeline project. This project contains the compliance pipeline configuration to apply to all projects with the compliance framework applied.
To create the compliance pipeline project:
- On the top bar, select Main menu > Groups and find the
Tutorial group
group. - Select New project.
- Select Create blank project.
- In the Project name field, enter
Tutorial compliance project
. - Select Create project.
To add compliance pipeline configuration to Tutorial compliance project
:
-
On the top bar, select Main menu > Projects and find the
Tutorial compliance project
project. -
On the left sidebar, select CI/CD > Editor.
-
Select Configure pipeline.
-
In the pipeline editor, replace the default configuration with:
--- compliance-job: script: - echo "Running compliance job required for every project in this group..."
-
Select Commit changes.
Configure compliance framework
The compliance framework is configured in the new group.
To configure the compliance framework:
- On the top bar, select Main menu > Groups and find the
Tutorial group
group. - On the left sidebar, select Settings > General.
- Expand Compliance frameworks.
- Select Add framework.
- In the Name field, enter
Tutorial compliance framework
. - In the Description field, enter
Compliance framework for tutorial
. - In the Compliance pipeline configuration (optional) field, enter
.gitlab-ci.yml@tutorial-group/tutorial-compliance-project
. - In the Background color field, select a color of your choice.
- Select Add framework.
For convenience, make the new compliance framework the default for all new projects in the group:
- On the top bar, select Main menu > Groups and find the
Tutorial group
group. - On the left sidebar, select Settings > General.
- Expand Compliance frameworks.
- In the row for
Tutorial compliance framework
, select Options ({ellipsis_v}). - Select Set default.
Create a new project and apply the compliance framework
Your compliance framework is ready, so you can now create projects in the group and they automatically run the compliance pipeline configuration in their pipelines.
To create a new project for running the compliance pipeline configuration:
- On the top bar, select Main menu > Groups and find the
Tutorial group
group. - Select New project.
- Select Create blank project.
- In the Project name field, enter
Tutorial project
. - Select Create project.
On the project page, notice the Tutorial compliance framework
label appears because that was set as the default
compliance framework for the group.
Without any other pipeline configuration, Tutorial project
can run the jobs defined in the compliance
pipeline configuration in Tutorial compliance project
.
To run the compliance pipeline configuration in Tutorial project
:
- On the top bar, select Main menu > Projects and find the
Tutorial project
project. - Select CI/CD Pipelines.
- Select Run pipeline.
- On the Run pipeline page, select Run pipeline.
Notice the pipeline runs a job called compliance-job
in a test stage. Nice work, you've run your first compliance
job!
Combine pipeline configurations
If you want projects to run their own jobs as well as the compliance pipeline jobs, you must combine the compliance pipeline configuration and the regular pipeline configuration of the project.
To combine the pipeline configurations, you must define the regular pipeline configuration and then update the compliance pipeline configuration to refer to it.
To create the regular pipeline configuration:
-
On the top bar, select Main menu > Projects and find the
Tutorial project
project. -
On the left sidebar, select CI/CD > Editor.
-
Select Configure pipeline.
-
In the pipeline editor, replace the default configuration with:
--- project-job: script: - echo "Running project job..."
-
Select Commit changes.
To combine the new project pipeline configuration with the compliance pipeline configuration:
-
On the top bar, select Main menu > Projects and find the
Tutorial compliance project
project. -
On the left sidebar, select CI/CD > Editor.
-
In the existing configuration, add:
include: - project: 'tutorial-group/tutorial-project' file: '.gitlab-ci.yml'
-
Select Commit changes.
To confirm the regular pipeline configuration is combined with the compliance pipeline configuration:
- On the top bar, select Main menu > Projects and find the
Tutorial project
project. - Select CI/CD Pipelines.
- Select Run pipeline.
- On the Run pipeline page, select Run pipeline.
Notice the pipeline runs two jobs in a test stage:
-
compliance-job
. -
project-job
.
Congratulations, you've created and configured a compliance pipeline!