開発モードでのパイプラインの実行
CI と CD パイプラインの開発モードでは、セキュリティやコンプライアンス関連のタスクを実行することなく、DevSecOps設定ファイル(yaml)の実装をテストします。 開発モードでは、パイプラインの実行時間も短縮されます。
開発モードは、開発目的でのみ使用してください。 開発モードは、公式のDevSecOpsCIとCDパイプラインの代替ではなく、リファレンス実装のままである。
単純化されたパイプラインを使用して、 .pipeline-config.yaml ファイルに加えられた変更を開発、実装、およびテストします。 このパイプラインには次のような特徴がある:
.pipeline-config.yamlファイルのさまざまなステージのみを実行します。- コンプライアンスおよびセキュリティー関連のタスクをスキップして、コードの実行時間を最適化します。
前提条件
- 既存のDevSecOpsCIまたはCDツールチェーン。
.pipeline-config.yamlと、対応するビルド・スクリプト、テスト・スクリプト、およびデプロイ・スクリプト。
開発モードのセットアップ
パイプラインの開発モードをセットアップするには、以下のステップを実行します。
-
CI または CD パイプラインの 「トリガー」 ページに移動します。
-
手動トリガーを見つけて、 「アクション」 アイコン
をクリックし、 「複製」 をクリックします。
の重複
手動トリガー -
トリガーに名前を付けます。 例えば、
Manual-Dev-Modeです。 -
EventListenerをdev-mode-listener(CI の場合) またはdev-mode-cd-listener(CD の場合) に変更します。
チェンジ・イヴェント・リスナー -
変更内容を保存します。
IaC パイプラインでの開発モードのセットアップ
Infrastructure as Code (IaC) パイプラインで開発モードをセットアップするには、以下のステップを実行します。
-
CI パイプラインの 「トリガー」 ページに移動します。
-
手動トリガーを見つけて、 「アクション」 アイコン
をクリックし、 「複製」 をクリックします。
の重複
手動トリガー -
トリガーに名前を付けます。 例えば、
Manual-IaC-Dev-Modeです。 -
EventListenerをiac-dev-mode-listenerに変更します。
iacイベント・リスナーの変更 -
変更内容を保存します。
開発モード・パイプラインの実行
開発モード・パイプラインを実行するには、以下のステップを実行します。
- PipelineRuns のページへ。
- 「パイプラインの実行 (Run Pipeline)」 をクリックし、作成した
Manual-Dev-Modeトリガーを選択します。 - 「実行 (Run)」 をクリックします。
開発モードのパイプラインは、 .pipeline-config.yaml ファイル内のコードのみを実行します。
他のすべてのセキュリティー・タスクおよびコンプライアンス・タスクは実行されないため、パイプラインの実行時間が短縮されます。
CI パイプラインの開発モード
CI パイプラインは、アプリケーション・リポジトリーからデプロイ可能な成果物をビルドします。
以下の表に、CI パイプラインの開発モードのステージをリストします。
| Dev-mod-ci パイプライン・ステージ | ステージの説明 |
|---|---|
code-ci-start |
パイプライン環境をセットアップします。 このプロセスには、パイプライン・ローカル・ファイル・システムへの構成リポジトリーおよびアプリケーション・リポジトリーのクローン作成が含まれます。 |
code-setup |
ビルド環境とテスト環境をセットアップして、以下のパイプライン・ステージ用に準備します。 |
code-unit-tests |
アプリケーション・コードの単体テストとアプリケーション・テストを実行する。 |
build-artifact |
成果物とイメージをビルドします。 |
deploy-dev |
ビルド成果物を開発環境にデプロイします。 |
deploy-acceptance-tests |
開発環境にデプロイされたビルド成果物に対して、受け入れテストと統合テストを実行する |
deploy-release |
ビルド成果物をインベントリーに追加します。 Continuous Delivery ・パイプラインは、このインベントリーを使用します。 |
code-ci-finish |
ログ・ファイル、成果物、エビデンスを収集、作成し、エビデンス・ロッカーにアップロードします。 パイプラインで以前に実行された準拠性検査のいずれかが失敗した場合、このステージも失敗します。 このステージは、PR をマージしたりビルドをデプロイしたりする前に、コンプライアンスの問題が確実に修正されるようにするための「フェイルセーフ」動作を表します。 |
CD パイプラインの開発モード
CD パイプラインは、ステージングや実稼働などの環境にビルドをデプロイします。
以下の表に、CD パイプラインの開発モードのステージをリストします。
| CD パイプライン・ステージ | ステージの説明 |
|---|---|
prod-start |
デプロイメントの差分を計算します。 |
prod-setup |
ビルド環境とテスト環境をセットアップする。 |
prod-verify-artifact |
CI パイプライン内に作成されたイメージの検証署名。 |
prod-deployment |
ビルドを環境にデプロイします。 |
prod-acceptance-tests |
受け入れテストを実行します。 |
prod-finish |
受け入れテストの公開、レコードのデプロイ、 CycloneDX SBOM の収集、および変更要求のクローズを行います。 |
標準モードに戻る
.pipeline-config.yaml ファイルとそれに関連するスクリプトの実装に問題がなければ、 Manual-Dev-Mode トリガーを無効にするか削除し、代わりに、セキュリティー検査とコンプライアンス検査を実行するために使用する standard トリガーを使用します。