AWS CodePipeline の特徴
CodePipeline を選ぶ理由
AWS CodePipeline は継続的統合と継続的デリバリー (CI/CD) のためのサービスで、アプリケーションとインフラストラクチャを短時間かつ信頼性の高い方法でアップデートするCodePipeline を使用してソフトウェアのリリースプロセスを完全にモデル化および自動化できます。
AWS CodePipeline は継続的統合と継続的デリバリー (CI/CD) のためのサービスで、アプリケーションとインフラストラクチャを短時間かつ信頼性の高い方法でアップデートするCodePipeline を使用してソフトウェアのリリースプロセスを完全にモデル化および自動化できます。
パイプラインでは、リリースプロセスのワークフローを定義し、リリースプロセスを通して新しいコードの変更がどのように進行するかを記述します。パイプラインは、ワークフローの論理的な区分として機能する一連のステージ (構築、テスト、デプロイなど) から構成されます。各ステージは、コードの構築またはテスト環境へのデプロイなどのタスクである、連続したアクションで構成されます。CodePipeline には、パイプラインとそのさまざまなステージやアクションを作成、設定、管理するグラフィカルユーザーインターフェイスが用意されていて、リリースプロセスのワークフローの視覚化とモデル化を容易に行えます。
並列実行
CodePipeline を使用して構築、テスト、デプロイアクションを並列実行するようにモデル化して、ワークフロー速度を向上できます。
CodePipeline では、パイプラインのソースコードを AWS CodeCommit、GitHub、Amazon Elastic Container Registry (Amazon ECR)、または Amazon Simple Storage Service (Amazon S3) から直接取得できます。ビルドとユニットのテストは AWS CodeBuild で実行できます。CodePipeline では、AWS CodeDeploy、AWS Elastic Beanstalk、Amazon Elastic Container Service (Amazon ECS)、または AWS Fargate を使用して変更をデプロイできます。
AWS CloudFormation のアクションをモデル化すると、リリースプロセスの一環として AWS リソースをプロビジョニング、更新、削除できます。これにより、AWS サーバーレスアプリケーションモデル (AWS SAM) で AWS Lambda、Amazon API Gateway、および Amazon DynamoDB を使用して構築したサーバーレスアプリケーションの継続的デリバリーも可能になります。
また、パイプラインのどの段階でも、CodePipeline の Lambda との統合を使用して、コードによって定義されているカスタム関数をトリガーできます。例えば、ウェブアプリケーションが正常にデプロイされたかどうかテストする Lambda 関数をトリガーできます。
CodePipeline によって、これらのサービスをサードパーティー製のデベロッパー用ツールやカスタムシステムと結び付けるパイプラインを設定できます。
CodePipeline では、GitHub または Jenkins のようなサードパーティーのデベロッパー用ツールを、クリック 1 回でリリースプロセスの任意のステージに統合できます。ソースの管理、ビルド、テスト、デプロイのためにサードパーティー製のツールを使用できます。統合についての詳細をご覧ください。
CodePipeline では、お客様独自のカスタムシステムを統合できます。CodePipeline のオープンソースエージェントをサーバーに統合することで、独自のサーバーをパイプラインに接続できるカスタムアクションを登録できます。CodePipeline の Jenkins プラグインを使用して、既存のビルドサーバーを簡単にカスタムアクションとして登録することもできます。
CodePipeline では、リリースワークフローとそのステージおよびアクションを指定する宣言型の JSON ドキュメントを使用して、パイプライン構造を定義できます。これらのドキュメントにより、既存のパイプラインを更新したり、新規パイプライン作成用の開始テンプレートを提供したりできます。
CodePipeline は AWS Identity and Access Management (IAM) を使用して、リリースワークフローを変更できるユーザーやそれを制御できるユーザーを管理します。IAM ユーザー、IAM ロール、SAML と統合されたディレクトリを使用して、ユーザーにアクセス権を与えることができます。
パイプラインに影響を与えるイベントに関する通知を作成することができます。通知は Amazon Simple Notification Service (Amazon SNS) 通知の形式で送信されます。各通知には、ステータスメッセージと、その通知が生成される原因となったイベントが存在するリソースへのリンクも含まれます。