

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

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

# ワークフローを使用して構築、テスト、デプロイする
<a name="workflow"></a>

アプリケーションコードは、[CodeCatalyst 開発環境](devenvironment.md)で記述し、[CodeCatalyst ソースリポジトリ](source.md)にプッシュしたら、デプロイできます。これを自動的に行うにはワークフローを使用します。

*ワークフロー*は、継続的統合と継続的デリバリー (CI/CD) システムの一部としてコードを構築、テスト、デプロイする方法を記述する自動手順です。ワークフローは、ワークフローの実行中に実行する一連のステップまたは*アクション*を定義します。ワークフローは、ワークフローを開始するイベント、または*トリガー*も定義します。ワークフローを設定するには、CodeCatalyst コンソールの[ビジュアルエディタまたは YAML エディタ](https://docs.aws.amazon.com//codecatalyst/latest/userguide/flows.html#workflow.editors)を使用して*ワークフロー定義ファイル*を作成します。

**ヒント**  
プロジェクトでワークフローを使用する方法を簡単に確認するには、[ブループリントを使用してプロジェクトを作成](https://docs.aws.amazon.com//codecatalyst/latest/userguide/projects-create.html#projects-create-console-template)します。各ブループリントは、レビュー、実行、実験可能な機能するワークフローをデプロイします。

## ワークフロー定義ファイルについて
<a name="workflow.example"></a>

*ワークフロー定義ファイル*は、ワークフローを記述する YAML ファイルです。デフォルトでは、ファイルは[ソースリポジトリ](source-repositories.md)のルートにある `~/.codecatalyst/workflows/` フォルダに保存されます。ファイルには .yml または .yaml 拡張子を使用でき、拡張子は小文字にする必要があります。

単純なワークフロー定義ファイルの例を次に示します。この例の各行については、次の表で説明します。

```
Name: MyWorkflow
SchemaVersion: 1.0
RunMode: QUEUED
Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  Build:
    Identifier: aws/build@v1
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:     
      Steps:
        - Run: docker build -t MyApp:latest .
```


| 線グラフ | 説明 | 
| --- | --- | 
|  <pre>Name: MyWorkflow</pre>  | ワークフローの名前を指定します。`Name` プロパティの詳細については、「[最上位プロパティ](workflow-reference.md#workflow.top.level)」を参照してください。 | 
|  <pre>SchemaVersion: 1.0</pre>  | ワークフロースキーマのバージョンを指定します。`SchemaVersion` プロパティの詳細については、「[最上位プロパティ](workflow-reference.md#workflow.top.level)」を参照してください。 | 
|  <pre>RunMode: QUEUED</pre>  | CodeCatalystが複数の実行をどのように処理するかを示します。実行モードの詳細については、「[実行のキュー動作の構成](workflows-configure-runs.md)」を参照してください。 | 
|  <pre>Triggers:</pre>  | ワークフローの実行を開始するロジックを指定します。トリガーについての詳細は、「[トリガーを使用したワークフロー実行の自動的な開始](workflows-add-trigger.md)」を参照してください。 | 
|  <pre>- Type: PUSH<br />  Branches:<br />    - main</pre>  | デフォルトのソースリポジトリの `main` ブランチにコードをプッシュするたびにワークフローを開始する必要があることを示します。ワークフローの詳細については、「[ワークフローへのソースリポジトリの接続](workflows-sources.md)」を参照してください。 | 
|  <pre>Actions:</pre>  | ワークフローの実行中に実行するタスクを定義します。この例では、`Actions` セクションは `Build` という 1 つのアクションを定義します。アクションの詳細については、「[ワークフローアクションの構成](workflows-actions.md)」を参照してください。 | 
|  <pre>Build:</pre>  | `Build` アクションのプロパティを定義します。ビルドアクションの詳細については、「[ワークフローを使用したビルド](build-workflow-actions.md)」を参照してください。 | 
|  <pre>Identifier: aws/build@v1</pre>  | ビルドアクションの一意のハードコードされた識別子を指定します。 | 
|  <pre>Inputs:<br />  Sources:<br />    - WorkflowSource</pre>  | ビルドアクションが処理を完了するために必要なファイルを見つけるには、`WorkflowSource` ソースリポジトリを参照する必要があることを示します。詳細については、「[ワークフローへのソースリポジトリの接続](workflows-sources.md)」を参照してください。 | 
|  <pre>Configuration:</pre>  | ビルドアクションに固有の設定プロパティが含まれます。 | 
|  <pre>Steps:<br />  - Run: docker build -t MyApp:latest .</pre>  | `MyApp` という名前の Docker イメージを構築して `latest` のタグを付けるようビルドアクションに指示します。 | 

ワークフロー定義ファイルで使用可能なプロパティをすべて集めた完全なリストについては、「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

## CodeCatalyst コンソールのビジュアルエディタと YAML エディタの使用
<a name="workflow.editors"></a>

ワークフロー定義ファイルを作成および編集するのに任意のエディタを使用できますが、CodeCatalyst コンソールのビジュアルエディタまたは YAML エディタを使用することをお勧めします。これらのエディタには、YAML プロパティの名、値、ネスティング、スペース、大文字化などが正しいことを確認するのに役立つ便利なファイル検証が用意されています。

次の画像は、ビジュアルエディタのワークフローを示します。ビジュアルエディタでは、ワークフロー定義ファイルを作成および設定するための完全なユーザーインターフェイスを利用できます。ビジュアルエディタには、ワークフローの主要コンポーネントを示すワークフロー図 (1) と設定エリア (2) が含まれています。

![ワークフロービジュアルエディタ](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/images/flows/workflow-visual-editor.png)


別の選択肢として、次の画像に示す YAML エディタを使用することもできます。YAML エディタを使用すると、(チュートリアルなどからの) 大きなコードブロックに貼り付けたり、ビジュアルエディタでは提供されない高度なプロパティを追加したりできます。

![ワークフロー YAML エディタ](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/images/flows/workflow-yaml-editor.png)


ビジュアルエディタから YAML エディタに切り替えると、基盤となる YAML コードに設定が及ぼす影響を確認できます。

## ワークフローの検出
<a name="workflow.discovering"></a>

**[ワークフロー]** 概要ページには、お使いのワークフローを同じプロジェクトで設定した他のワークフローと共に表示できます。

次の図は、**[ワークフロー]** 概要ページを示します。**BuildToProd** と **UnitTests** という 2 つのワークフローが入力されています。どちらも数回実行されていることがわかります。**[最近の実行]** を選択して実行履歴をすばやく確認したり、ワークフローの名前を選択してワークフローの YAML コードとその他の詳細情報を確認したりできます。

![ワークフローログ](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/images/flows/workflow-list.png)


## ワークフロー実行の詳細の表示
<a name="workflow.runs"></a>

**[ワークフロー]** 概要ページで実行を選択すると、ワークフロー実行の詳細を表示できます。

次の図は、ソースへのコミット時に自動的に開始された **Run-cc11d** というワークフロー実行の詳細を示しています。ワークフロー図は、アクションが失敗したことを示します (1)。ログ (2) に移動して詳細なログメッセージを表示し、問題をトラブルシューティングできます。ワークフロー実行の詳細については、「[ワークフローの実行](workflows-working-runs.md)」を参照してください。

![ワークフローログ](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/images/flows/workflow-visual-logs.png)


## 次の手順
<a name="workflow.next"></a>

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

最初のワークフローを作成するには、「[初めてのワークフロー](workflows-getting-started.md)」を参照してください。