CircleCIのaws-ecs Orbで指定するオプションについて
はじめに
GUIからECSを設定したのでfamilyという単語に聞き覚えがなかったり、自分の設定ファイルではservice名を指定していないのに動いたりと不思議が多かったのでメモ
よく使うオプション
family
- タスク定義名
- 最初は「何故task-nameじゃなくてfamily..?」と思いましたが、タスク定義の詳細画面でJSONタブを開いてみるとタスク名が
family
の値になっているので「もともとそういう名前なのか...」と気づくことができます
cluster-name
- クラスター名(そのまんまですね)
container-image-name-updates
- タスク定義内のコンテナのイメージを更新するためのオプション
container=<container-name>,image-and-tag=<image-name>:<tag-name>|image=<image-name>|tag=<tag-name>,container=...,image-and-tag|image|tag=...,
- 複数指定したい場合は、
container=<container-name>,image-and-tag=<image-name>,container=<container-name>,image-and-tag=<image-name>...
のようにコンマで繋いでいく - containerは必須で、imageの指定法が、
- image名のみ
- タグは更新前のタスク定義のものを使用
- tagのみ
- イメージは更新前のタスク定義のものを使用
- image名とtag
- image名のみ
- 複数指定したい場合は、
service-name
- サービス名
- 指定しなかった場合は
family
の値が使用されます -個人的にプチハマりポイントだと思います。サービスとタスク定義の名前を同じにしていて
参考文献
https://circleci.com/orbs/registry/orb/circleci/aws-ecs?version=1.3.0#jobs-deploy-service-update