Я довольно поздно опаздываю на вечеринку, но не думаю, что можно ссылаться на определение задачи по тегу (по крайней мере, через час после заливки документации AWS). Для настройки нашего CD нам нужно было запустить скрипт, который захватывает все определения активных задач и находит тот, у которого есть желаемое значение тега выпуска. Это выглядит так:
"""
Fetches a task definition based on family name and the `release` tag value.
Usage:
python3 -m app.scripts.get_task_definition TASK_FAMILY RELEASE_TAG
"""
import sys
import boto3
task_family = sys.argv[1]
release = sys.argv[2]
ecs_client = boto3.client("ecs", region_name="us-west-2")
# Sort by newest first
list_response = ecs_client.list_task_definitions(familyPrefix=task_family, status="ACTIVE", sort="DESC")
for arn in list_response["taskDefinitionArns"]:
task_definition = ecs_client.describe_task_definition(taskDefinition=arn, include=["TAGS"])
task_release_tags = [tag for tag in task_definition["tags"] if "release" in tag["key"]]
task_release = task_release_tags[0].get("value", None) if task_release_tags else None
if task_release == release:
print(arn)