
dnxsolutions/ecs-deploydocker-ecs-deploy是一个用于辅助通过CodeDeploy将应用部署到ECS(Elastic Container Service)的容器工具。它简化了ECS服务的部署流程,支持通过环境变量配置部署参数、处理任务定义模板,并集成CodeDeploy进行部署管理。
以下环境变量需在系统级别设置:
| 变量 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| DEPLOY_TIMEOUT | Integer | 部署超时时间(秒) | 900 |
| AWS_CODE_DEPLOY_OUTPUT_STATUS_LIVE | Boolean | 若环境支持实时重载,使用回车符实现单行输出 | True |
适用于需要通过CodeDeploy部署ECS服务的场景,尤其适合集成到CI/CD流程中,实现自动化部署。需配合DNXLabs的Terraform模块使用:
在应用仓库中创建以下文件:
yamldeploy: image: dnxsolutions/ecs-deploy:latest env_file: - .env volumes: - ./task-definition.tpl.json:/work/task-definition.tpl.json
包含必要的环境变量:
# 必填变量 APP_NAME=<ecs服务名称> CLUSTER_NAME=<ecs集群名称> IMAGE_NAME=<ecr镜像ARN> CONTAINER_PORT=80 AWS_DEFAULT_REGION= # 应用特定变量(如任务定义中使用) DB_HOST= DB_USER= DB_PASSWORD= DB_NAME=
ECS任务定义模板,支持通过环境变量替换变量:
json{ "containerDefinitions": [ { "essential": true, "image": "${IMAGE_NAME}", "memoryReservation": 512, "name": "${APP_NAME}", "portMappings": [ { "containerPort": ${CONTAINER_PORT} } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "ecs-${CLUSTER_NAME}-${APP_NAME}", "awslogs-region": "ap-southeast-2", "awslogs-stream-prefix": "web" } }, "environment" : [ { "name" : "DB_HOST", "value" : "${DB_HOST}" }, { "name" : "DB_USER", "value" : "${DB_USER}" }, { "name" : "DB_PASSWORD", "value" : "${DB_PASSWORD}" }, { "name" : "DB_NAME", "value" : "${DB_NAME}" } ] } ], "family": "${APP_NAME}" }
bashdocker-compose run --rm deploy
$CLUSTER_NAME-$APP_NAME1.x.x分支对应旧版本,如需更新或修复该版本的bug,请使用此分支。创建新版本时,若修改1.x.x分支的内容,需确保发布版本在同一版本体系下。
仓库地址:[***]



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务