
akiunlocks/deployerCD Deployer是一款专注于持续部署(Continuous Deployment)自动化的Docker镜像,旨在简化应用从构建完成到生产环境上线的全流程。通过标准化部署流程、集成主流CI/CD工具及提供灵活的配置能力,帮助团队实现高效、可靠的自动化部署,减少人工操作成本并降低部署风险。
通过docker run命令可快速启动部署任务,示例如下:
bashdocker run -d \ --name cd-deployer-prod \ -e DEPLOY_TARGET="[***]" \ # 生产环境部署目标API地址 -e API_KEY="prod-ci-cd-token-***" \ # 目标环境认证密钥 -e SCRIPT_PATH="/deploy/scripts/prod-deploy.sh" \ # 自定义部署脚本路径(容器内) -e ROLLBACK_ON_FAILURE="true" \ # 启用失败回滚 -e LOG_LEVEL="debug" \ # 调试模式日志输出 -v /local/deploy-scripts:/deploy/scripts \ # 挂载本地部署脚本目录 cd-deployer:latest
对于长期运行的部署服务(如监听CI触发事件),可通过docker-compose配置持久化部署环境:
yamlversion: '3.8' services: cd-deployer: image: cd-deployer:latest container_name: cd-deployer-service restart: unless-stopped environment: - DEPLOY_TARGET="[***]" # 测试环境部署目标 - API_KEY="test-ci-cd-token-67890" # 测试环境认证密钥 - SCRIPT_PATH="/deploy/scripts/test-deploy.sh" # 测试环境部署脚本 - TIMEOUT="600" # 部署超时时间(10分钟) - ROLLBACK_ON_FAILURE="true" # 启用失败回滚 volumes: - ./test-deploy-scripts:/deploy/scripts # 本地测试脚本目录挂载 - ./deploy-logs:/var/log/cd-deployer # 部署日志持久化 networks: - ci-cd-network # 接入CI工具所在网络 networks: ci-cd-network: external: true
| 环境变量名 | 描述 | 示例值 | 是否必填 | 默认值 |
|---|---|---|---|---|
DEPLOY_TARGET | 部署目标环境地址(支持HTTP/HTTPS/K8s API等) | [***] | 是 | - |
API_KEY | 目标环境或CI工具的认证密钥 | prod-ci-token-xxxx | 是 | - |
SCRIPT_PATH | 容器内自定义部署脚本绝对路径 | /deploy/scripts/custom.sh | 否 | /deploy/default.sh |
ROLLBACK_ON_FAILURE | 是否启用部署失败自动回滚(true/false) | true | 否 | false |
TIMEOUT | 部署超时时间(秒) | 600 | 否 | 300 |
LOG_LEVEL | 日志输出级别(debug/info/warn/error) | info | 否 | info |
NOTIFY_WEBHOOK | 部署结果回调通知地址 | [***] | 否 | - |
DEPLOY_TARGET和API_KEY等必填参数SCRIPT_PATH加载部署脚本(内置或外部挂载),按脚本逻辑执行部署操作0并触发NOTIFY_WEBHOOK(若配置);失败时执行回滚逻辑(若启用)并返回非零状态码chmod +x预先处理)API_KEY使用最小权限账户,避免密钥泄露导致的安全风险TIMEOUT)需根据应用规模调整,大型应用建议设置较长超时(如10-15分钟)


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