Stages
stageは、pipeline内のjobsの実行順序を整理する重要なコンポーネントです。各stageは、アプリケーションのビルド、テスト、デプロイなど、ソフトウェアデリバリープロセスの個別のフェーズを表します。stagesにより、jobsの論理的なグループ化と分離が可能になり、より高速なビルドとデプロイのための並列実行が実現します。また、ワークフローを管理可能な単位に分解することで複雑なpipelinesの効率的な管理を促進し、デプロイプロセス全体の明確さと制御を提供します。
stagesキーを使用して、pipelineに必要なstagesをkey-value pairsとして定義できます。
<< status.{stage_name} >>を使用して、stageの現在のステータスを取得できます。
-
pipeline内の複数のstagesは、デフォルトで順次実行され、1つずつ進行します。stage実行の条件を定義するオプションがあり、各stageがいつトリガーされるかをカスタマイズして制御できます。pipelineでの条件の定義方法については、こちらのセクションを参照してください。
-
pipeline設定では、少なくとも1つのstageが必要で、最大5つのstagesまでです。また、各stageはparallel jobsを含めて最大5つのjobsを収容できます。
Stageのプロパティ
以下の属性の1つまたは複数の組み合わせで、pipeline内のstagesを定義できます:
| キー | 値 | 必須 |
|---|---|---|
| name | stage nameを文字列値として指定します。 | はい |
| jobs | jobsの配列 | はい |
| runner | jobsを実行するrunnerの名前 | いいえ |
| image | 特定のstageでのjob実行に使用されるimageの名前 | いいえ |
| when | stageを実行するための条件ロジック。基本条件とともに“and”、“or”、“not”、“not-equal”、または“equal”演算子を使用できます。 | いいえ |
StageのYAMLコードスニペット
以下は、pipelineで定義できるstagesのサンプルコードスニペットです:
stages:
- name: testStage1
runner: runner1
image: testImage1
jobs:
- testJob1
when:
- and:
- equal:
- << pipeline.event.branch >>
- master
- true
- name: testStage2
jobs:
- testJob1
- - testJob2
- testJob3
上記のコードは以下のワークフローを示しています:
- pipelineには2つのstagesが定義されています - testStage1とtestStage2。
- stage testStage1は1つのjob(testJob1)を実行し、stage testStage2は3つのjobs(testJob1とparallel job)を実行します。parallel jobには、それぞれtestJob2とtestJob3が含まれます。
- runnerとimageはstageレベルで定義されており、両方のstagesで利用されます。
- when conditionは、現在のbranchがmasterを指しているかどうかを検証し、それがtrueの場合、testJob1が実行されます。
最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us