以下サイトにてAWS公式のcode3兄弟ハンズオンをやったのでそのメモ
https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-cicd-2022-confirmation_484.html
Cloud9からソースコートを編集してgit pushするとCodePipelineが変更を検知してデプロイまで自動的にやってくれるというシステム
感想としては、単純に現職でやっている開発にSFTPユーザ渡して、ソースコード編集してもらって〜みたいな流れをこれ導入するだけでお互いに楽できるようになるので導入していったほうがいーんじゃないかなと思った
各サービスの簡単まとめ
- Cloud9:AWS上での開発環境、EC2上で動作させる
- S3:今回は静的webサイトホスティングのために使用
- CodeCommit:AWS上のGit、Cloud9やVScodeなどを使用してgit使うことが多い?
- CodePipeline:ソースコードの変更を検知して、デプロイまでを行うフローを管理している
- AWSCodeBuild:ソースコードのコンパイルやテスト実行が可能(OS違いなどの環境を考慮できる?)、
- AWSCodeDeploy:
以下はハンズオンでやった内容の簡単メモ
-
今回はソースコードの編集環境としてCloud9を利用するため、Cloud9実行環境となるEC2を立てた。ここでソースを作って、CodeCommitにpushすることで構成管理している。 Cloud9の使用は必須ではなく、普通にVScodeの拡張機能とか使ってcodecommitにpushできる環境作ればok
-
codecommit + s3 はAWSコンソール上だけで完結した、CodeBuiltd,CodeDeployサービスは使用しない
-
EC2インスタンスへのCI/CDは以下の手順
- デプロイ先のEC2インスタンス作成
- S3へのフルアクセスロールアタッチ
- EC2にCodeDeployエージェントをインストール(利用リージョンによってエージェントが違う)
- CodeBuildプロジェクトを作成(buildspec.ymlの配置→ビルドの動作を細かく設定?)
- CodeDeploy設定(EC2が複数の場合に一部にデプロイなどのオプションがある、AppSpec.ymlの配置→ファイルごとの配置場所などを指定できる)
- CodePipelineでデプロイまでを自動化