

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# ゲートを使用したワークフロー実行の続行防止
<a name="workflows-gates"></a>

*ゲート*は、特定の条件が満たされない限り、ワークフロー実行が続行されないようにするために使用できるワークフローコンポーネントです。ゲートの例として、ワークフロー実行の続行を許可する前に CodeCatalyst コンソールでユーザーが承認を送信する必要がある**承認**ゲートがあります。

ワークフロー内の連続するアクションの間にゲートを追加することも、最初のアクション (**ソース**のダウンロード直後に実行) の前にゲートを追加することもできます。必要に応じて、最後のアクションの後にゲートを追加することもできます。

ワークフロー実行の詳細については、「[ワークフローの実行](workflows-working-runs.md)」を参照してください。

**Topics**
+ [ゲートのタイプ](#workflows-gates-types)
+ [別のアクションと並列で実行するようにゲートを設定できますか?](#workflows-approval-parallel)
+ [ワークフロー実行が開始されないようにするためにゲートを使用できますか?](#workflows-gates-prevent)
+ [ゲートの制限](#workflows-gate-limitations)
+ [ワークフローへのゲートの追加](workflows-gates-add.md)
+ [ゲートとアクションの順序付け](workflows-gates-depends-on.md)
+ [ゲートのバージョンの指定](workflows-gates-version.md)

## ゲートのタイプ
<a name="workflows-gates-types"></a>

現在、Amazon CodeCatalyst でサポートしているゲートのタイプは**承認**ゲートのみです。詳細については、「[ワークフロー実行の承認の必須化](workflows-approval.md)」を参照してください。

## 別のアクションと並列で実行するようにゲートを設定できますか?
<a name="workflows-approval-parallel"></a>

いいえ。ゲートはアクションの前後にしか実行できません。詳細については、「[ゲートとアクションの順序付け](workflows-gates-depends-on.md)」を参照してください。

## ワークフロー実行が開始されないようにするためにゲートを使用できますか?
<a name="workflows-gates-prevent"></a>

はい、ただし条件があります。

ワークフロー実行が*タスクを実行*できないようにすることができます。これは、ワークフロー実行が*開始*されないようにすることとは若干異なります。

ワークフローがタスクを実行できないようにするには、ワークフローの一番最初のアクションの前にゲートを追加します。このシナリオでは、ワークフロー実行が*開始されます*。つまり、ソースリポジトリファイルがダウンロードされますが、ゲートのロックが解除されるまでタスクを実行できなくなります。

**注記**  
ワークフローが開始され、ゲートによってブロックされた場合でも、*スペースあたりの同時ワークフロー実行の最大数*クォータやその他のクォータに対してカウントされます。ワークフロークォータを超えないようにするには、ゲートを使用する代わりに、ワークフロートリガーを使用して条件付きでワークフローを開始することを検討してください。ゲートの代わりにプルリクエスト承認ルールを使用することも検討してください。クォータ、トリガー、プルリクエスト承認ルールの詳細については、「[CodeCatalyst のワークフローのクォータ](workflows-quotas.md)」、「[トリガーを使用したワークフロー実行の自動的な開始](workflows-add-trigger.md)」、「[承認ルールを使用してプルリクエストをマージするための要件を管理する](source-pull-requests-approval-rules.md)」を参照してください。

## ゲートの制限
<a name="workflows-gate-limitations"></a>

ゲートには次の制限があります。
+ コンピューティング共有機能と組み合わせてゲートを使用することはできません。この機能の詳細については、「[アクション間でのコンピューティングの共有する](compute-sharing.md)」を参照してください。
+ アクショングループ内でゲートを使用することはできません。アクショングループの詳細については、「[アクショングループへのアクションのグループ化](workflows-group-actions.md)」を参照してください。

# ワークフローへのゲートの追加
<a name="workflows-gates-add"></a>

Amazon CodeCatalyst では、ワークフローにゲートを追加して、特定の条件が満たされていない限り、ワークフローが続行されないようにできます。ワークフローにゲートを追加するには、以下の手順に従います。

ゲートの詳細については、「[ゲートを使用したワークフロー実行の続行防止](workflows-gates.md)」を参照してください。

**ゲートを追加および構成するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトを選択します。

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

1. **[編集]** を選択します。

1. **[ビジュアル]** を選択します。

1. 左側で **[ゲート]** を選択します。

1. ゲートカタログでゲートを検索し、プラス記号 (**\$1**) を選択してワークフローにゲートを追加します。

1. ゲートを構成します。**[ビジュアル]** を選択してビジュアルエディタを使用するか、**[YAML]** を選択して YAML エディタを使用します。詳細な手順については、以下を参照してください。
   + [「承認」ゲートの追加](workflows-approval-add.md)

1. (任意) **[検証]** を選択して、YAML コードが有効であることを確認します。

1. **[コミット]** を選択して変更をコミットします。

# ゲートとアクションの順序付け
<a name="workflows-gates-depends-on"></a>

Amazon CodeCatalyst では、ワークフローアクション、アクショングループ、またはゲートの前後に実行されるゲートを設定できます。例えば、`Deploy` アクションの前に実行される `Approval` ゲートを設定できます。この場合、`Deploy` アクションは `Approval` ゲートに*依存*していることになります。

ゲートとアクションの間の依存関係を設定するには、ゲートまたはアクションの **DependsOn** プロパティを構成します。手順については、「[アクション間の依存関係の設定](workflows-depends-on-set-up.md)」を参照してください。参照先の手順ではワークフロー*アクション*について言及していますが、ゲートにも等しく適用されます。

ゲートを使用して **DependsOn** プロパティを設定する方法の例については、「[例: 「承認」ゲート](workflows-approval-example.md)」を参照してください。

ゲートの詳細については、「[ゲートを使用したワークフロー実行の続行防止](workflows-gates.md)」を参照してください。

ワークフローアクションの詳細については、「[ワークフローアクションの構成](workflows-actions.md)」を参照してください。

# ゲートのバージョンの指定
<a name="workflows-gates-version"></a>

デフォルトでは、ワークフローにゲートを追加すると、CodeCatalyst は次の形式を使用してワークフロー定義ファイルにフルバージョンを追加します。

`vmajor.minor.patch` 

例:

```
My-Gate:
  Identifier: aws/approval@v1
```

ワークフローでゲートの特定のメジャーバージョンまたはマイナーバージョンを使用するように、バージョンを延長できます。手順については、「[使用するアクションバージョンの指定](workflows-action-versions.md)」を参照してください。参照先のトピックではワークフローアクションについて言及していますが、ゲートにも等しく適用されます。

CodeCatalyst におけるゲートの詳細については、「[ゲートを使用したワークフロー実行の続行防止](workflows-gates.md)」を参照してください。