AWS CodePipelineとは?すべてのコード変更を自動的に構築


AWS CodePipelineの概要

AWS CodePipelineは、AWS CodeCommit、AWS CodeBuild、AWS CodeDeployなどと連携して継続的デリバリーの自動化を提供するフルマネージドサービスです。要するに構築・テスト・デプロイまで自動化出来てしまいます。

AWS CodePipelineを活用すると、アプリケーションやインフラストラクチャの機能が新しくなった場合などでコード変更する場合、すべてのコード変更が自動的に構築され、標準的なテストが実行されます。

AWS CodePipelineによって、開発者は、標準的なテストを済ませた成果物を手にすることができ、ユーザーにアプリケーションやインフラストラクチャの新機能をスピーディーに配信することができます。

また、必要に応じさらに下記のような詳細なテストを実行することができます。

UIテスト

ロードテスト

統合テスト

API信頼性テストAWS CodePipelineのクラウド環境では、オンプレミスでは難しいとされていた複数のテスト環境でのレプリケーションを自動的に実行できます。

AWS CodePipelineの利点

アプリケーションやインフラストラクチャの新機能をスピーディーに配信採用されたアプリケーションやインフラストラクチャの機能が新しくなった場合などは、できるだけ早くユーザーに届ける必要があります。

AWS CodePipelineを活用することでアプリケーションやインフラストラクチャの構築からテスト、リリースまでの流れを自動化し、アジャイルに作業をすすめることができ、その結果、新機能をスピーディーに配信できるようになります。

問題点の早期発見ができる

AWS CodePipelineを活用することで、継続的デリバリーが自動化され、より高頻度でテストを実行でき、さらに高度なテストが実行可能となります。そのため、問題点を早期に発見する可能性が高まり、問題点を見逃して重大な問題に発展することを未然に防ぐことが可能となります。

フルマネージドタイプのサービス

AWS CodePipelineは、フルマネージドタイプのサービスのため、新たにサーバーやシステムを準備する必要はありません。AWS CodePipelineは、既に使用しているシステムを活用して導入できるため、開始までに時間と労力がかかりません。

開発者の生産性向上につながる

AWS CodePipelineを活用することで、開発者は手動で実行していた単なる準備作業や管理に使っていた時間をユーザーに対するサービスの品質向上に振り分けることができ、結果的に開発者の生産性を向上させます。

複数のワークフローを簡単に選べる

AWS CodePipelineでは、作業に合わせて下記のようなAWSサービスを簡単に選んで実行できます。

AWS CLI

AWS CloudFormation

AWS SDK

簡単に拡張できる

AWS CodePipelineは、必要性に応じ下記のようなプラグインと統合して簡単に拡張できます。

GitHub

オンプレミスのJenkinsビルドサーバー

サードパーティのサービス

参考資料
https://aws.amazon.com/jp/codepipeline/