チュートリアルコンプライアンス・パイプラインの作成

コンプライアンス パイプラインを使用して、グループ内のすべてのプロジェクトのパイプラインで特定のコンプライアンス関連ジョブが実行されるようにすることができます。コンプライアンス パイプラインは、コンプライアンス フレームワークを通じてプロジェクトに適用されます。

このチュートリアルでは

  1. 新しいグループを作成します。
  2. コンプライアンス パイプライン設定用の新しいプロジェクトを作成します。
  3. 他のプロジェクトに適用するコンプライアンス フレームワークを設定します。
  4. 新しいプロジェクトを作成し、コンプライアンス フレームワークを適用します。
  5. コンプライアンスパイプライン設定と通常のパイプライン設定を組み合わせます。

前提条件:

  • 新しいトップレベルグループの作成権限。

新しいグループを作成する

コンプライアンス・フレームワークは、トップレベルのグループで設定します。このチュートリアルでは、以下のようなトップレベルグループを作成します:

  • 2 つのプロジェクトをコンテナに含めます:
    • コンプライアンス パイプライン設定を保存するコンプライアンス パイプライン プロジェクト。
    • コンプライアンスパイプライン設定で定義されたジョブをパイプラインで実行する必要がある別のプロジェクト。
  • プロジェクトに適用するコンプライアンスフレームワークを持っています。

新しいグループを作成するには

  1. 左サイドバーの上部にある「新規作成({プラス})」から新規グループ」を選択します。
  2. グループの作成]を選択します。
  3. グループ名]フィールドに、「Tutorial group 」と入力します。
  4. グループの作成]を選択します。

新しいコンプライアンス パイプライン プロジェクトを作成します。

これで、コンプライアンス パイプライン プロジェクトを作成する準備ができました。このプロジェクトには、コンプライアンス フレームワークを適用したすべてのプロジェクトに適用するコンプライアンス パイプライン設定がコンテナとして含まれます。

コンプライアンス パイプライン プロジェクトを作成します:

  1. 左側のサイドバーで[検索]を選択するか、 Tutorial group グループを検索します。
  2. 新規プロジェクトを選択します。
  3. 空白プロジェクトの作成」を選択します。
  4. プロジェクト名フィールドに、Tutorial compliance project と入力します。
  5. Create projectを選択します。

コンプライアンスパイプライン設定をTutorial compliance projectに追加するには:

  1. 左側のサイドバーで、[検索]を選択するか、 Tutorial compliance project プロジェクトを検索します。
  2. Build > Pipeline editorを選択します。
  3. パイプラインの設定]を選択します。
  4. パイプラインエディターで、デフォルト設定を次のように置き換えます:

    ---
    compliance-job:
      script:
        - echo "Running compliance job required for every project in this group..."
    
  5. 変更をコミット を選択します。

コンプライアンス フレームワークの設定

新しいグループにコンプライアンス フレームワークを設定します。

コンプライアンス フレームワークを設定するには

  1. 左側のサイドバーで[検索]を選択するか、 Tutorial group グループを検索します。
  2. 設定] > [全般]を選択します。
  3. コンプライアンスフレームワークを展開します。
  4. フレームワークの追加を選択します。
  5. NameフィールドにTutorial compliance framework と入力します。
  6. 説明フィールドには、「Compliance framework for tutorial 」と入力してください。
  7. コンプライアンスパイプライン設定(オプション)フィールドに、.gitlab-ci.yml@tutorial-group/tutorial-compliance-project と入力します。
  8. 背景色] フィールドで、任意の色を選択します。
  9. フレームワークの追加を選択します。

便宜上、新しいコンプライアンス フレームワークをグループ内のすべての新規プロジェクトのデフォルトにします:

  1. 左側のサイドバーで[検索]を選択するか、 Tutorial group グループを検索します。
  2. 設定] > [全般]を選択します。
  3. コンプライアンスフレームワークを展開します。
  4. Tutorial compliance frameworkの行で、オプション({ellipsis_v})を選択します。
  5. 既定値に設定]を選択します。

新しいプロジェクトを作成し、コンプライアンス フレームワークを適用します。

コンプライアンス フレームワークの準備ができたので、グループ内にプロジェクトを作成し、そのパイプラインでコンプライアンス パイプライン設定を自動的に実行できるようになりました。

コンプライアンス パイプライン設定を実行する新しいプロジェクトを作成するには、次の手順に従います:

  1. 左側のサイドバーで[検索]を選択するか、 Tutorial group グループを検索します。
  2. Create new({plus})とNew project/repositoryを選択します。
  3. 空白プロジェクトの作成」を選択します。
  4. プロジェクト名フィールドに、Tutorial project と入力します。
  5. Create projectを選択します。

プロジェクトページで、Tutorial compliance framework のラベルが表示されていることに注意してください。これは、グループのデフォルトのコンプライアンスフレームワークとして設定されているためです。

他のパイプライン設定なしで、Tutorial projectTutorial compliance project のコンプライアンスパイプライン設定で定義されたジョブを実行できます。

Tutorial project のコンプライアンス・パイプライン設定を実行するには:

  1. 左側のサイドバーで、[検索]を選択するか、 Tutorial project プロジェクトを検索します。
  2. Build > Pipelinesを選択します。
  3. パイプラインの実行を選択します。
  4. パイプラインの実行] ページで、[パイプラインの実行] を選択します。

パイプラインはテストステージでcompliance-job というジョブを実行します。最初のコンプライアンスジョブが実行されました!

パイプラインの設定を組み合わせる

プロジェクトでコンプライアンスパイプラインのジョブだけでなく独自のジョブも実行する場合は、プロジェクトのコンプライアンスパイプライン設定と通常のパイプライン設定を組み合わせる必要があります。

パイプライン設定を結合するには、通常のパイプライン設定を定義してから、それを参照するようにコンプライ アンスパイプライン設定を更新する必要があります。

通常のパイプライン設定を作成します:

  1. 左側のサイドバーで、[検索]を選択するか、 Tutorial project プロジェクトを検索します。
  2. Build > Pipeline editorを選択します。
  3. パイプラインの設定]を選択します。
  4. パイプラインエディターで、デフォルト設定を次のように置き換えます:

    ---
    project-job:
      script:
        - echo "Running project job..."
    
  5. 変更をコミット を選択します。

新しいプロジェクト パイプライン設定をコンプライアンス パイプライン設定に結合します:

  1. 左側のサイドバーで、[検索]を選択するか、 Tutorial compliance project プロジェクトを検索します。
  2. Build > Pipeline editorを選択します。
  3. 既存の設定に、以下を追加します:

    include:
      - project: 'tutorial-group/tutorial-project'
        file: '.gitlab-ci.yml'
    
  4. 変更をコミット を選択します。

通常のパイプライン設定がコンプライアンスパイプライン設定と結合されていることを確認します:

  1. 左側のサイドバーで、[検索]を選択するか、 Tutorial project プロジェクトを検索します。
  2. Build > Pipelinesを選択します。
  3. パイプラインの実行を選択します。
  4. パイプラインの実行] ページで、[パイプラインの実行] を選択します。

パイプラインはテストステージで2つのジョブを実行します:

  • compliance-job.
  • project-job.

おめでとうございます。コンプライアンスパイプラインの作成と設定が完了しました!

コンプライアンスパイプラインの設定例をもっと見る