

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステージ条件はどのように機能しますか?
<a name="concepts-how-it-works-conditions"></a>

ルールを指定する条件ごとに、ルールが実行されます。条件が失敗すると、結果が適用されます。ステージは、条件が失敗した場合にのみ、指定された結果を実行します。ルールの一部として、CodePipeline でケース別に使用するリソースも必要に応じて指定します。例えば、`CloudWatchAlarm` ルールは CloudWatch アラームリソースを使用して条件のチェックを実行します。

条件は複数のルールと一致する場合があり、各ルールは 3 つのプロバイダーのいずれかを指定できます。

条件を作成するための大まかなフローは次のとおりです。

1. CodePipeline で利用可能な条件タイプから条件のタイプを選択します。例えば、ステージの成功後、続行前に一連のルールを使用してチェックを実行できるようにステージを設定するには、成功時の条件タイプを使用します。

1. ルールを選択します。例えば、`CloudWatchAlarm` ルールはアラームをチェックし、EB を使用して事前設定されたアラームのしきい値を確認します。チェックが成功し、アラームがしきい値を下回っていると、ステージを続行できます。

1. ルールが失敗した場合に使用するロールバックなど、結果を設定します。

条件は、特定の式タイプで使用します。条件ごとに利用可能な特定の結果として、次のようなオプションがあります。
+ **入力** - チェックするための条件。条件を満たすと、ステージへの入力が許可されます。ルールに適用される結果のオプションは、**失敗**または**スキップ**です。
+ **失敗時** - 失敗したときにステージをチェックするための条件。ルールに適用される結果のオプションは、**ロールバック**です。
+ **成功時** - ステージが成功したときにステージをチェックするための条件。ルールに適用される結果のオプションは、**ロールバック**または**失敗**です。

次の図は、CodePipeline の入力条件タイプのフロー例を示しています。条件は、条件が満たされない場合 (ルールが失敗した場合) に何が起こるかという質問に答えます。次のフローでは、入力条件に LambdaInvoke ルールと `CloudWatchAlarm` ルールを設定しています。ルールが失敗すると、設定済みの結果 (失敗など) が適用されます。

![LambdaInvoke と CloudWatchAlarm という 2 つのルールを設定した入力条件タイプの例。](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/conditions-overview-entry.png)


次の図は、CodePipeline の失敗時の条件タイプのフロー例を示しています。条件は、条件が満たされた場合 (すべてのルールがチェックに成功した場合) にどうなるかという質問に答えます。次のフローでは、失敗時の条件を LambdaInvoke ルールと `CloudWatchAlarm` ルールで設定しています。ルールが成功すると、設定済みの結果 (失敗など) が適用されます。

![Lambda と CloudWatchAlarm という 2 つのルールが設定されている失敗時の条件タイプの例。](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/conditions-overview-onfailure.png)


次の図は、CodePipeline の成功時の条件タイプのフロー例を示しています。条件は、条件が満たされた場合 (すべてのルールがチェックに成功した場合) にどうなるかという質問に答えます。次のフローでは、成功時の条件に `LambdaInvoke` ルールと `CloudWatchAlarm` ルールを設定しています。ルールが成功すると、設定済みの結果 (失敗など) が適用されます。

![Lambda ルールと CloudWatchAlarm ルールの 2 つのルールを設定した成功時の条件タイプの例。](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/conditions-overview-onsuccess.png)




## ステージ条件のルール
<a name="concepts-how-it-works-rules"></a>

ステージ条件を設定するときは、事前定義されたルールから選択し、ルールの結果を指定します。条件内のルールのいずれかが失敗すると、条件の状態は [失敗しました] になり、すべてのルールが成功すると、[成功しました] になります。失敗時の条件と成功時の条件の基準を満たす方法は、ルールのタイプによって異なります。

ステージ条件に追加できるマネージドルールは以下のとおりです。
+ 条件は、**コマンド**ルールを使用して、条件のルール基準を満たすコマンドを指定できます。このルールの詳細については、「[コマンド](rule-reference-Commands.md)」を参照してください。
+ **AWS DeploymentWindow** ルールを条件で使用すると、デプロイを許可する承認済みのデプロイ時間を指定できます。ルールの基準は、デプロイウィンドウに指定した cron 式で測定されます。デプロイウィンドウの日付と時刻がルールの cron 式の基準を満たすと、ルールは成功します。このルールの詳細については、「[DeploymentWindow](rule-reference-DeploymentWindow.md)」を参照してください。
+ **AWS Lambda** ルールを条件で使用すると、設定した Lambda 関数から返されるエラー状態をチェックできます。チェックが Lambda 関数の結果を受け取ると、ルールは満たされます。Lambda 関数からのエラーは、失敗時の条件の基準を満たします。このルールの詳細については、「[LambdaInvoke](rule-reference-LambdaInvoke.md)」を参照してください。
+ **AWS CloudWatchAlarm** ルールを条件で使用すると、CloudWatch イベントから設定したアラームをチェックできます。アラーム状態として OK、ALARM、または INSUFF\_DATA がチェックで返されると、ルールは満たされます。成功時の条件の場合、OK と INSUFFICIENT\_DATA が基準を満たします。失敗時の条件の場合、ALARM が基準を満たします。このルールの詳細については、「[CloudwatchAlarm](rule-reference-CloudWatchAlarm.md)」を参照してください。
+ **VariableCheck** ルールを条件で使用すると、出力変数を指定した式と照合する条件を作成できます。変数値がルール基準を満たすと (変数値が指定した出力変数以上であるなど)、ルールはチェックに合格します。このルールの詳細については、「[VariableCheck](rule-reference-VariableCheck.md)」を参照してください。