翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
YAML ワークフロードキュメントを作成する
YAML 形式定義ドキュメントは、イメージビルドプロセスのビルドステージとテストステージの入力、出力、ワークフローステップを設定します。標準化されたステップを含むテンプレートから始めることも、ゼロから始めて独自のワークフローを定義することもできます。テンプレートを使用するかゼロから始めるかにかかわらず、ワークフローをニーズに合わせてカスタマイズできます。
YAML ワークフロードキュメントの構造
Image Builder がイメージビルドおよびテストアクションを実行するために使用するYAMLワークフロードキュメントは、次のように構造化されます。
ワークフロードキュメントの識別
ワークフローを一意に識別します。このセクションは次の属性を含むことができます。
フィールド |
説明 |
タイプ |
必須 |
---|---|---|---|
name |
ワークフロードキュメントの名前。 |
文字列 |
いいえ |
説明 |
ドキュメントの説明。 |
文字列 |
なし |
schemaVersion |
ドキュメントのスキーマバージョン。現在は 1.0。 |
文字列 |
あり |
例
--- name: sample-test-image description: Workflow for a sample image, with extra configuration options exposed through workflow parameters. schemaVersion: 1.0
ワークフロードキュメントの入力パラメータ
ワークフロードキュメントのこの部分では、呼び出し側が指定できる入力パラメータを定義します。パラメータがない場合、このセクションは省略できます。パラメータを指定する場合、各パラメータには以下の属性を含めることができます。
フィールド |
説明 |
タイプ |
必須 |
制約 |
---|---|---|---|---|
name |
パラメータの名前。 |
文字列 |
あり |
|
説明 |
パラメータの説明。 |
文字列 |
なし |
|
デフォルト |
値が指定されていない場合のパラメータのデフォルト値。パラメータ定義にデフォルト値を含めない場合、ランタイム時にパラメータ値が必要になります。 |
パラメータのデータ型に一致します。 |
なし |
|
type |
パラメータのデータ型。パラメータ定義にデフォルト値を含めない場合、パラーメータ型のデフォルトはランタイム時に必要な文字列値になります。 |
文字列 |
あり |
パラメータのデータ型は、次のいずれかである必要があります。
|
例
ワークフロードキュメントでパラメータを指定します。
parameters: - name: waitForActionAtEnd type: boolean default: true description: "Wait for an external action at the end of the workflow"
ワークフロードキュメントでパラメータ値を使用します。
$.parameters.waitForActionAtEnd
ワークフロードキュメントのステップ
ワークフローに最大 15 のステップアクションを指定します。ステップは、ワークフロードキュメント内で定義されている順序で実行されます。失敗した場合、ロールバックは逆の順序で実行されます。失敗したステップから始まり、前のステップまでさかのぼって実行されます。
各ステップは、前のステップアクションの出力を参照できます。これをチェーニング、または参照と呼びます。前のステップアクションからの出力を参照するには、JSONPathセレクタを使用できます。例:
$.stepOutputs.
step-name
.output-name
詳細については、「ワークフロードキュメントでは動的変数を使用します」を参照してください。
注記
ステップ自体には出力属性はありませんが、ステップアクションからの出力はすべてステップの stepOutput
に含まれます。
各ステップには、次の属性を含めることができます。
フィールド |
説明 |
タイプ |
必須 |
デフォルト値 |
制約 |
---|---|---|---|---|---|
アクション |
このステップが実行するワークフローアクション。 |
文字列 |
あり |
Image Builder ワークフロードキュメントでサポートされているステップアクションである必要があります。 |
|
|
条件ステートメントは、ワークフローステップの本文に制御フローの決定ポイントを追加します。 |
dict |
なし |
Image Builder は、
|
|
説明 |
手順の説明。 |
文字列 |
なし |
空の文字列は使用できません。含める場合、長さは 1~1024 文字である必要があります。 |
|
入力 |
ステップアクションの実行に必要なパラメータが含まれます。キー値は、静的な値として、または正しいデータ型に解決されるJSONPath変数で指定できます。 |
dict |
あり |
||
name |
ステップの名前。この名前はワークフロードキュメント内で一意である必要があります。 |
文字列 |
あり |
長さは 3~128 文字にする必要があります。 英数字と |
|
onFailure |
ステップが失敗した場合に実行するアクションを次のように構成します。 Behavior
|
文字列 |
なし |
|
|
rollbackEnabled |
障害が発生した場合にステップをロールバックするかどうかを設定します。静的ブール値またはブール値に解決される動的JSONPath変数を使用できます。 |
ブール値 |
なし |
|
|
timeoutSeconds |
再試行が適用される場合に、ステップが失敗して再試行されるまでの最大実行時間 (秒単位)。 |
整数 |
なし |
該当する場合、ステップアクションに定義されているデフォルトによって異なります。 |
1~86400 秒 (最大 24 時間) |
例
steps: - name: LaunchTestInstance action: LaunchInstance onFailure: Abort inputs: waitFor: "ssmAgent" - name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId" - name: TerminateTestInstance action: TerminateInstance onFailure: Continue inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId" - name: WaitForActionAtEnd action: WaitForAction if: booleanEquals: true value: "$.parameters.waitForActionAtEnd"
ワークフロードキュメントの出力
ワークフローの出力を定義します。各出力は、出力の名前と値を指定するキーと値のペアです。出力を使用してランタイム時に後続のワークフローで使用できるデータをエクスポートできます。このセクションはオプションです。
定義する各出力には以下の属性が含まれます。
フィールド |
説明 |
タイプ |
必須 |
---|---|---|---|
name |
出力の名前。名前は、パイプラインに含めるワークフロー間で一意である必要があります。 |
文字列 |
あり |
value |
出力の値。文字列の値は、ステップアクションからの出力ファイルなどの動的変数でもかまいません。詳細については、「ワークフロードキュメントでは動的変数を使用します」を参照してください。 |
文字列 |
あり |
例
createProdImage
ステップからのステップ出力を含むワークフロードキュメントの出力イメージ ID を作成します。
outputs: - name: 'outputImageId' value: '$.stepOutputs.createProdImage.imageId'
次のワークフローのワークフロー出力を参照してください。
$.workflowOutputs.outputImageId