はじめに
CodeCommit をしようせずに、Backlog のリモートリポジトリのブランチがマージされたことをトリガーに、ECS に自動デプロイしたい。
必要だと思っている工程は、
- Backlog からWebhook をつかってマージすることをlambda 関数に知らせること(実装済み)
- lambda 関数で、Backlog にあるリモートリポジトリからデータを取得してきて、Zip ファイルに変換しS3 にアップロードすること(実装済み)
- CodeBuild を使ってS3 に保存してあるZip ファイルをJar ファイルに変換しS3 に保存すること(未実装)
- 3番で保存したJar ファイルをDocker イメージを作成すること(未実装)
- 4番で作成したDocker イメージをECR にプッシュすること
- Cloud Formation スタックを使って、ECR をECS にデプロイすること(実装済み)
*リモートリポジトリにあるアプリケーションはGradle を使用したSpring Boot アプリケーションです。
現在3番の工程で、つまづいています。
3番の工程でいちど試したこと
CodeBuild を使ってS3 に保存してあるZip ファイルをJar ファイルに変換しS3 に保存するためのビルドプロジェクトを作成しました。
作る過程で、Buildspec 名をGradle のビルド定義ファイルであるbuild.gradle を指定しました。
発生している問題・エラーメッセージ
Phase context status code: YAML_FILE_ERROR Message: mapping values are not allowed in this context at line 6
備考
私自身がAWS 初心者でCodeBuild への理解が不十分だとは思いますが、お分かりのかたがいらっしゃいましたら、なにが原因でビルドができないかを教えていただければ幸いです。
回答2件
あなたの回答
tips
プレビュー