Appearance
2. CI/CDパイプラインの登録
本章では、アプリケーションをデプロイするためのCI/CDパイプラインを登録します。
Qmonus Value Streamでは、CI/CDパイプラインを構成する要素として Task, Pipeline, AssemblyLine という三つのリソースが存在します。CI/CDパイプラインの最小単位がTask、複数のTaskをまとめたものがPipeline、複数のPipelineをまとめたものがAssemblyLineです。
AssemblyLineによってPipelineの実行順序やパラメータをカスタマイズすることで、要件に対応したCI/CDパイプラインを柔軟に作成できます。 同様に、Pipelineに含まれるTaskを組み替えることで、Pipeline自体をカスタマイズすることも可能です。
AssemblyLineの構成要素を表にすると以下のようになります。
| 名称 | 説明 |
|---|---|
| AssemblyLine | Pipelineを組み合わせたワークフロー |
| Pipeline | Taskが集まった一連の処理 |
| Task | Pipelineを構成する最小単位の処理 |
| Step | Taskを構成する最小単位の処理 |
AssemblyLine、Pipeline、Task、Stepの関係。
AssemblyLine, Pipeline, Task, Stepの関係は以下のようになっています。
例:2つのPipeline(Pipeline(A), Pipeline(B))から構成されているAssemblyLineがあり、それぞれのPipelineが2つのTaskから構成されている時。
AssemblyLine
├── Pipeline(A)
│ ├──Task
│ │ ├──Step
│ │ ├──Step
│ └──Task
│ ├──Step
│ └──Step
└── Pipeline(B)
├──Task
│ ├──Step
│ ├──Step
└──Task
├──Step
└──Step今回は以下の図に示すように、サンプルアプリケーションをデプロイするための2つのPipelineと、それらのPipelineをまとめたAssemblyLineを登録します。

登録するPipelineは、App Runner サービスを作成して Nginx をデプロイするdeployという名称のPipelineと、作成された App Runner サービスの URL を取得するget-urlという名称のPipelineです。 この2つのPipelineを登録できたら、登録した2つのPipelineを利用したAssemblyLineを登録します。
2-1. Task,Pipelineの登録
最初にAssemblyLineを登録するためのPipelineとTaskを登録します。 PipelineとTaskを登録するにはサンプルアプリケーションのリポジトリに含まれるqvs.yamlをコンパイルする必要があります。 Qmonus Value Streamは、qvs.yaml に書かれたPipelineの定義を読み取り、PipelineとTaskを生成します。
qvs.yaml のコンパイルは以下の手順で行います。
- 左メニューより、AssemblyLineを選択します。

- 画面上部の
COMPILE & APPLY PIPELINE/TASKボタンを押下します。

Applicationの一覧からNginx Demoを選択します。
GitRevisionにmainと入力します。
画面右下の
COMPILEボタンを押下します。
処理が完了したら画面下部の
APPLYボタンを押下します。
処理が完了したらAssemblyLineの画面に戻り、画面右上の
PIPELINEボタンを押下します。
Pipeline一覧に以下が表示されていることを確認します。
nginx-demo-deploynginx-demo-get-url
再度AssemblyLineの画面に戻り、画面右上の
TASKボタンを押下します
Task一覧に以下が表示されていることを確認します。
nginx-demo-git-checkoutnginx-demo-app-compile-adapter-into-pulumi-yamlnginx-demo-app-deploy-by-pulumi-yamlnginx-demo-get-url-aws-app-runner
以上で qvs.yaml のコンパイルとPipeline、Taskの登録は完了です。
2-2. AssemblyLineの登録と確認
Pipelineを組み合わせたワークフローである AssemblyLine を登録します。 AssemblyLineもPipeline、Taskと同様に、AssemblyLine の定義が記載されたファイルを用いて生成します。
左メニューより、AssemblyLineを選択します。

画面上部の
NEW ASSEMBLYLINEボタンを押下します。
AssemblyLineの編集画面に移動したら、画面右上の
IMPORTボタンを押下します。
インポート画面に移動したら、サンプルアプリケーションのリポジトリに含まれる .valuestream/aws/assemblyline-staging.yaml の内容を全てコピーして、YAMLエディタに貼り付けます。

IMPORTボタンを押下します。
インポートに成功するとAssemblyLine登録画面に内容が反映されます。

画面下部の
SAVEボタンを押下します。登録が完了するとAssemblyLine一覧画面に遷移します。画面中央に表示される
staging-deployを選択します。
AssemblyLineを構成するPipeline Stagesとして、
deployとget-urlが表示されることを確認します。
表示されていればAssemblyLineの登録と確認は完了です。