Posted at

Introduction to AWS CodePipeline 和訳してみた


はじめに

AWS Training and Certification にて紹介されている AWS CodePipeline についての動画を和訳してみました。

このコンテンツへのアクセス方法については、こちらに記載しております。


Introduction to AWS CodePipeline


AWS CodePipeline について

それでは、AWS CodePipeline について説明して参ります。

image.png

AWS CodePipeline は、ユーザがコードを修正する度に、コードの構築・テスト・デプロイを自動的に調整する継続的なデリバリーサービスです。ソフトウェアの、迅速な、そして正確な開発が求められる昨今においてとても重要なサービスです。


サービスのメリット

image.png

CodePipeline は以下のような特徴があります。


  • 直ぐにデリバリー可能


    • 開発・テスト・デプロイまでの一連の流れを自動化



  • 高品質


    • デプロイまでの流れをすばやく自動的に行うことが可能



  • 直ぐに開始可能


    • サーバレスなので、サーバを立てることなく利用可能



  • ワークフローの設定可能


    • 開発・テスト・デプロイの段階毎に設定を設けることが可能



  • 他の AWS サービスと統合可能


    • CodeCommit など他の AWS サービスや、第三者デベロッパーツールとの統合利用が可能




AWS Code Pipelie の仕組み

AWS CodePipeline の動作環境については、以下となります。

image.png

1 リリースプロセスモデルを判別


  • リリースワークフローを定義

  • コードが無事に通過しているかを Source、Build、Test、Prod、の段階毎に判別

  • それぞれの段階で実行されるアクションを判別

2 次回以降、ソースリポジトリに変更内容が反映される


  • 定義されたアクションとして、ワークフローが実行される

  • 変更内容が承認され無い限り Pipeline のワークフローは動かない


ベストプラクティス

image.png

CodePipeline は、他の AWS サービスとの統合や、テンプレートの作成が可能といった特徴があります。


  • CodePipeline はCodeCommit やCodeBuilt など、他の AWS サービスとの統合した利用が可能

  • CodeDeploy を利用することで、テンプレートの内容を変更することも可能

  • Lambda を使用することで、パイプラインに Lambda 関数を呼び出すことが可能


ユースケース

image.png

AWS CodePipeline は、Source、Build、Test、Production で構成されており、それぞれに対して有効なアクションプロバイダが決まっております。

アクションカテゴリ
有効なアクションプロバイダ

ソース
AWS CodeCommit、GitHub など

ビルド
AWS CodeBuild、Jenkins など

テスト
AWS CodeBuild、GhostInspector など

プロダクト
AWS CodeDeploy、 AWS CloudFormation など


おわりに

AWS CodePipeline については以上となります。CodePipelne を利用することで製品を作成する際の一連の流れを、管理するだけでなく自動化まで行うことができます。個別で取り組んでいた1つひとつのサービスをまとめることができるので、開発をする際は、ぜひ利用してみて下さい。