リポジトリにタスク定義ファイルを含めないでGithubActionsでECSを自動デプロイしたいな〜とググっていたとき、
https://github.com/aws-actions/amazon-ecs-deploy-task-definition
のreadmeを見ると下記の記載が!
タスク定義を git リポジトリにファイルとして保存したくない場合は、GitHub Actions ワークフローで既存のタスク定義をダウンロードできます。
- name: Download task definition
run: |
aws ecs describe-task-definition --task-definition my-task-definition-family --query taskDefinition > task-definition.json
task definitionはリポジトリで管理しなくてよかったんや。。。。!と真似してみたところ、今度はタグ生成されるサービスにtagsが付与されていないことがわかった
describe-task-definitionコマンドには--query引数でJMESPathというjsonを整形する方法が提供されているが、結構癖があり、初学だったこともあり詰まったので共有。
結局下記のように書き換えてあげればtagsをtask definitionに含めることができ無事デプロイできましたとさ。
- name: Download task definition
run: |
aws ecs describe-task-definition --task-definition task-definition --include TAGS --query "merge(taskDefinition,{tags:tags})" > ./task-definition.json
参考
https://chariosan.com/2021/07/19/githubactions_ecs_deploy_taskdef/