チュートリアル: コンプライアンスパイプラインを作成する(非推奨)
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
この機能は、GitLab 17.3で非推奨となり、19.0で削除される予定です。代わりにパイプライン実行ポリシータイプを使用してください。これは破壊的な変更です。詳細については、移行ガイドを参照してください。
コンプライアンスパイプラインを使用すると、特定のコンプライアンス関連ジョブがグループ内のすべてのプロジェクトのパイプラインで確実に実行されるようにすることができます。コンプライアンスパイプラインは、コンプライアンスフレームワークを通じてプロジェクトに適用されます。
このチュートリアルでは、以下のことを行います:
- 新しいグループを作成します。
- コンプライアンスパイプラインの設定用の新規プロジェクトを作成します。
- 他のプロジェクトに適用するコンプライアンスフレームワークを設定します。
- 新規プロジェクトを作成し、コンプライアンスフレームワークを適用します。
- コンプライアンスパイプラインの設定と通常のパイプラインの設定を組み合わせます。
はじめる前
- 新しいトップレベルグループを作成する権限が必要です。
新しいグループを作成
コンプライアンスフレームワークは、トップレベルグループで設定されます。このチュートリアルでは、以下のトップレベルグループを作成します:
- 2つのプロジェクトが含まれています:
- コンプライアンスパイプラインの設定を保存するためのコンプライアンスパイプラインプロジェクト。
- コンプライアンスパイプラインの設定で定義されたジョブをパイプラインで実行する必要がある別のプロジェクト。
- プロジェクトに適用するコンプライアンスフレームワークがあります。
新しいグループを作成するには:
- 左側のサイドバーの上部で、新規作成( )を選択し、新規グループを選択します。
- グループを作成を選択します。
- グループ名フィールドに、
Tutorial groupと入力します。 - グループを作成を選択します。
新しいコンプライアンスパイプラインプロジェクトを作成します
これで、コンプライアンスパイプラインプロジェクトを作成する準備ができました。このプロジェクトには、コンプライアンスフレームワークが適用されたすべてのプロジェクトに適用するコンプライアンスパイプラインの設定が含まれています。
コンプライアンスパイプラインプロジェクトを作成するには:
- 左側のサイドバーで、検索または移動先を選択して、
Tutorial groupグループを見つけます。 - 新規プロジェクトを選択します。
- 空のプロジェクトの作成を選択します。
- プロジェクト名フィールドに、
Tutorial compliance projectと入力します。 - プロジェクトを作成を選択します。
Tutorial compliance projectにコンプライアンスパイプラインの設定を追加するには:
左側のサイドバーで、検索または移動先を選択して、
Tutorial compliance projectプロジェクトを見つけます。ビルド > パイプラインエディタを選択します。
パイプラインの設定を選択します。
パイプラインエディタで、デフォルトの設定を以下のように置き換えます:
--- compliance-job: script: - echo "Running compliance job required for every project in this group..."変更をコミットするを選択します。
コンプライアンスフレームワークを設定します
コンプライアンスフレームワークは、新しいグループで設定されます。
コンプライアンスフレームワークを設定するには:
- 左側のサイドバーで、検索または移動先を選択して、
Tutorial groupグループを見つけます。 - セキュリティ > コンプライアンスセンターを選択します。
- ページで、フレームワークタブを選択します。
- 新規フレームワークを選択します。
- 名前フィールドに、
Tutorial compliance frameworkと入力します。 - 説明フィールドに、
Compliance framework for tutorialと入力します。 - **コンプライアンスパイプラインの設定 (オプション)**フィールドに、
.gitlab-ci.yml@tutorial-group/tutorial-compliance-projectと入力します。 - 背景色フィールドで、お好みの色を選択します。
- フレームワークを追加を選択します。
便宜上、新しいコンプライアンスフレームワークをグループ内のすべての新しいプロジェクトのデフォルトに設定します:
- 左側のサイドバーで、検索または移動先を選択して、
Tutorial groupグループを見つけます。 - セキュリティ > コンプライアンスセンターを選択します。
- ページで、フレームワークタブを選択します。
Tutorial compliance frameworkを選択し、フレームワークを編集を選択します。- デフォルトとして設定を選択します。
- 変更を保存を選択します。
新規プロジェクトを作成し、コンプライアンスフレームワークを適用します
コンプライアンスフレームワークの準備ができたので、グループにプロジェクトを作成すると、パイプラインでコンプライアンスパイプラインの設定が自動的に実行されるようになります。
コンプライアンスパイプラインの設定を実行するための新しいプロジェクトを作成するには:
- 左側のサイドバーで、検索または移動先を選択して、
Tutorial groupグループを見つけます。 - 新規作成( )を選択し、新規プロジェクト/リポジトリを選択します。
- 空のプロジェクトの作成を選択します。
- プロジェクト名フィールドに、
Tutorial projectと入力します。 - プロジェクトを作成を選択します。
プロジェクトページに、Tutorial compliance frameworkというラベルが表示されています。これは、グループのデフォルトのコンプライアンスフレームワークとして設定されているためです。
他のパイプラインの設定がない場合、Tutorial projectは、Tutorial compliance projectのコンプライアンスパイプラインの設定で定義されたジョブを実行できます。
Tutorial projectでコンプライアンスパイプラインの設定を実行するには:
- 左側のサイドバーで、検索または移動先を選択して、
Tutorial projectプロジェクトを見つけます。 - ビルド > パイプラインを選択します。
- パイプラインを新規作成を選択します。
- パイプラインを新規作成ページで、パイプラインの実行を選択します。
パイプラインがtest(test)ステージングでcompliance-jobという名前のジョブを実行することに注目してください。よくできました。最初のコンプライアンスジョブを実行しました。
パイプラインの設定を組み合わせます
プロジェクトで独自のジョブとコンプライアンスパイプラインのジョブを実行する場合は、コンプライアンスパイプラインの設定とプロジェクトの通常パイプラインの設定を組み合わせる必要があります。
パイプラインの設定を組み合わせるには、通常のパイプラインの設定を定義し、コンプライアンスパイプラインの設定を更新して参照する必要があります。
通常のパイプラインの設定を作成するには:
左側のサイドバーで、検索または移動先を選択して、
Tutorial projectプロジェクトを見つけます。ビルド > パイプラインエディタを選択します。
パイプラインの設定を選択します。
パイプラインエディタで、デフォルトの設定を以下のように置き換えます:
--- project-job: script: - echo "Running project job..."変更をコミットするを選択します。
新しいプロジェクトパイプラインの設定をコンプライアンスパイプラインの設定と組み合わせるには:
左側のサイドバーで、検索または移動先を選択して、
Tutorial compliance projectプロジェクトを見つけます。ビルド > パイプラインエディタを選択します。
既存の設定に、以下を追加します:
include: - project: 'tutorial-group/tutorial-project' file: '.gitlab-ci.yml'変更をコミットするを選択します。
通常のパイプラインの設定がコンプライアンスパイプラインの設定と組み合わされていることを確認するには:
- 左側のサイドバーで、検索または移動先を選択して、
Tutorial projectプロジェクトを見つけます。 - ビルド > パイプラインを選択します。
- パイプラインを新規作成を選択します。
- パイプラインを新規作成ページで、パイプラインの実行を選択します。
パイプラインがtest(test)ステージングで2つのジョブを実行することに注目してください:
compliance-jobproject-job
おめでとうございます。コンプライアンスパイプラインを作成および設定しました。
コンプライアンスパイプラインの設定例をさらにご覧ください。