使用代码注册 ECS 任务



我正在尝试使用代码将应用程序部署到 AWS ECS。我有我的 docker-compose 文件,一切都准备好部署了。Codeship 文档说要在codeship-steps.yml文件中执行以下操作:

aws ecs register-task-definition --cli-input-json file:///deploy/tasks/backend.json
aws ecs update-service --service my-backend-service --task-definition backend

我的问题是,这个文件file:///deploy/tasks/backend.json我必须手动提供的东西,还是自动创建的,以及 ECS 任务。 因为我不断从代码中收到此错误

调用 RunTask 操作时出错 (客户端异常(: 找不到任务定义。

file:///deploy/tasks/backend.json是你提供给aws ecs register-task-definition的东西。

在这里查找,这将生成您想要的文件的结构:

aws ecs register-task-definition --generate-cli-skeleton

然后,您可以在将其放入backend.json后对其进行修改,例如(前提是您将命令的输出重定向到名为backend.json的文件中(。

如果您查看建议的服务定义:

awsdeployment:
image: codeship/aws-deployment
encrypted_env_file: aws-deployment.env.encrypted
environment:
- AWS_DEFAULT_REGION=us-east-1
volumes:
- ./:/deploy

您可以看到./映射到/deploy装入点。这意味着,如果在存储库中创建了一个名为 tasks 的目录,则将 json 文件放在那里,并且应该已全部设置好。

最新更新