概要
SpringBootアプリケーションをCodePipelineを用いてEC2インスタンスに自動デプロイ
があったので、
CodePipelineでSpringBoot on BeanstalkのCD/CIパイプラインを構築するに倣ってBeanstalkに自動デプロイしました。
手順1 Githubにソースをコミットしておく
spring initializrでspringbootプロジェクトを作成し、
ローカルで動作確認します。
動作確認できたら、自身のGithubのリポジトリにプッシュします。
手順2 S3にバケットを作成しておく
S3に「sample-app-bucket」というバケットを作成します。
手順3 Elastic Beanstalkでアプリを作成する
手順4 CodeBuildでビルドプロジェクトを作成する
springbootプロジェクtのルート直下にbuildspec.ymlを作成します。
試しにビルドしてみましょう。
CodeDeployによるビルドが成功すればOKです。
手順5 CodePipelineで自動化する
ソースにGithubのリポジトリを、
ビルドステージに作成したCodeBuildプロジェクトを、
デプロイステージに作成したBeanstalkを指定して、
CodePipelineを作成します。
Githubのリポジトリはあるが、ブランチが見つからないと出る場合は、
リポジトリをpublicにしてください。
privateリポジトリは別途設定が必要なようです。
手順6 GithubにPushされたらCodePipelineが開始するようにする
動作確認
あとはプッシュして、Pipelineが動くか確認します。
適当にSpringBootのファイルを編集します。
編集したらプッシュします。
Pipelineが進行中になっています。
動いている証拠です。
Piplineが最後まで完了したら、BeanstalkのURLにアクセスします。
プッシュ内容が反映されていれば自動デプロイできています!
以上