[CodeCatalyst ワークフロー] を使用すると、Amazon ECS、AWS Lambda などのさまざまなターゲットにアプリケーションやその他のリソースをデプロイできます。
アプリケーションをデプロイする方法を教えてください。
CodeCatalyst を使用してアプリケーションまたはリソースをデプロイするには、まずワークフローを作成し、その中にデプロイアクションを指定します。[デプロイアクション] は、デプロイする内容、デプロイする場所、デプロイ方法 (ブルー/グリーンスキームを使用するなど) を定義するワークフロービルドブロックです。CodeCatalyst コンソールのビジュアルエディタ、または YAML エディタを使用して、ワークフローにデプロイアクションを追加します。
アプリケーションまたはリソースをデプロイするための大まかなステップは次のとおりです。
アプリケーションをビルドするには (概要レベルのタスク)
-
CodeCatalyst プロジェクトで、デプロイするアプリケーションの [ソースコードを追加] します。詳細については、「CodeCatalyst のプロジェクト用リポジトリにソースコードを保存する」を参照してください。
-
CodeCatalyst プロジェクトでは、デプロイ先のターゲット AWS アカウント とオプションの Amazon Virtual Private Cloud (VPC) を定義する [環境を追加] します。詳細については、「AWS アカウント と VPC へのデプロイ」を参照してください。
-
CodeCatalyst プロジェクトで、[ワークフローを作成] します。ワークフローでは、アプリケーションをビルド、テスト、デプロイする方法を定義します。詳細については、「初めてのワークフロー」を参照してください。
-
ワークフローでは、[トリガーを追加]、[ビルドアクション]、および任意で [テストアクション] を追加します。詳細については、トリガーを使用したワークフロー実行の自動的な開始、ビルドアクションの追加、テストアクションの追加 を参照してください。
-
ワークフローで、[デプロイアクションを追加] します。CodeCatalyst が提供する複数のデプロイアクションから、Amazon ECS などの異なるターゲットにアプリケーションをデプロイするアクションを選択できます。(ビルドアクションまたは GitHub アクションを使用してアプリケーションをデプロイすることもできます。ビルドアクションと GitHub アクションの詳細については、「アクションをデプロイする他の方法」を参照してください。)
-
ワークフローの開始は、手動で行うか、トリガーを介して自動で行います。ワークフローは、デプロイアクションを順番に実行して、アプリケーションとリソースをターゲットにビルド、テスト、デプロイします。詳細については、「手動でのワークフロー実行の開始」を参照してください。
デプロイアクションの一覧
次のデプロイアクションを使用できます。
-
AWS CloudFormation スタックをデプロイ – このアクションは、指定した [AWS CloudFormation テンプレート] または [AWS Serverless Application Model テンプレート] に基づいて AWS に CloudFormation スタックを作成します。詳細については、「AWS CloudFormation スタックのデプロイ」を参照してください。
-
Amazon ECS にデプロイ – このアクションは、指定した [タスク定義] ファイルを登録します。詳細については、「ワークフローを使用した Amazon ECS へのデプロイ」を参照してください。
-
Kubernetes クラスターにデプロイ – このアクションは、アプリケーションを Amazon Elastic Kubernetes Service クラスターにデプロイします。詳細については、「ワークフローを使用して Amazon EKS にデプロイする」を参照してください。
-
AWS CDK デプロイ – このアクションは、AWS に [AWS CDK アプリケーション] をデプロイします。詳細については、「ワークフローを使用した AWS CDK アプリのデプロイ」を参照してください。
注記
リソースをデプロイできる他の CodeCatalyst アクションもありますが、[デプロイ] 情報は [環境] ページに表示されないため、デプロイアクションとはみなされません。[環境] ページとデプロイの表示の詳細については、「AWS アカウント と VPC へのデプロイ」および「デプロイ情報の表示」を参照してください。
デプロイアクションの利点
ワークフロー内でデプロイアクションを使用すると、次の利点があります。
-
デプロイ履歴 – デプロイの履歴を表示して、デプロイされたソフトウェアの変更を管理および伝達できます。
-
トレーサビリティ – CodeCatalyst コンソールを使用してデプロイのステータスをトラッキングし、各アプリケーションリビジョンがいつ、どこでデプロイされたかを確認できます。
-
ロールバック – エラーが発生した場合は、デプロイを自動的にロールバックします。デプロイのロールバックをアクティブ化するようにアラームを設定することもできます。
-
モニタリング – ワークフローのさまざまな段階の進行状況を監視できます。
-
他の CodeCatalyst 機能との統合 – ソースコードを保存し、それを 1 つのアプリケーションからビルド、テスト、デプロイできます。
アクションをデプロイする他の方法
デプロイアクションを使用する必要はないものの、前のセクションで説明した利点があるため、使用することを推奨します。代わりに、次の [CodeCatalyst アクション] を使用できます。
-
[ビルド] アクション。
通常、対応するデプロイアクションが存在しないターゲットにデプロイする場合、またはデプロイ手順をより詳細に制御する場合は、ビルドアクションを使用します。ビルドアクションを使用してリソースをデプロイする方法については、「ワークフローを使用したビルド」を参照してください。
-
[GitHub アクション]。
CodeCatalyst ワークフロー内で [GitHub アクション] を使用して、アプリケーションとリソースを (CodeCatalyst アクションの代わりに) デプロイできます。CodeCatalyst ワークフロー内で GitHub アクションを使用する方法については、「GitHub Actions との統合」を参照してください。
CodeCatalyst ワークフローを使用しない場合は、次の AWS サービスを使用してアプリケーションをデプロイすることもできます。
-
AWS CodeDeploy – 「CodeDeploy とは?」を参照してください。
-
AWS CodeBuild と AWS CodePipeline – 「AWS CodeBuild とは?」と「AWS CodePipeline とは」を参照してください。
-
AWS CloudFormation – 「AWS CloudFormation とは?」を参照してください。
複雑なエンタープライズデプロイには、CodeDeploy、CodeBuild、CodePipeline、および CloudFormation のサービスを使用します。