用途:将本地 code/ 下的新服务首次部署到 ali-ecs-2c8g,并绑定 HTTPS 域名。调用方式为 /deploy-ecs-service,调用前需在会话上下文中提供域名、本地源码目录、服务端口和服务描述,缺失时应先询问用户。
主要能力与流程:收集部署参数(DOMAIN、PORT、PROJECT_LOCAL、SERVICE_DESC、SERVER_IP 等);Pre-flight 检查端口占用、services-index.md 是否重复域名、服务器是否已有 compose 文件;同步文件并启动容器(有 Makefile 用 make deploy,否则 rsync 后 docker compose up -d);通过 Aliyun DNS API 添加 A 记录;轮询权威 DNS 等待生效;申请 Let's Encrypt 证书(优先 HTTP-01,失败再 DNS-01);写入 nginx conf 并测试 reload;用 curl 验证 HTTPS;最后强制更新 services-index.md。
硬约束:nginx upstream 必须写 host.docker.internal:PORT,不能写 127.0.0.1;服务器为 2 核机,禁止在服务器上 docker compose up --build,只能 up -d;DNS 操作应直接调 API,不让用户去控制台手动操作;部署完成后必须更新 services-index.md,否则不算完成。
限制:资料未提供该技能支持的平台范围、收费方式、价格或效果保证;部分步骤依赖 .env 中的阿里云凭据、aliyun CLI 或 Python SDK,手写 REST 签名仅作为最后手段;若 API 返回错误才改为提示用户手动添加 DNS 记录。