automated-deployment-skill
v0.1.4
Published
Install the Automated Deployment Codex skill with ephemeral SSH bootstrap and restricted per-environment CI/CD identities.
Maintainers
Readme
automated-deployment-skill
将 Automated Deployment Codex 技能安装到全局技能目录。技能可直接使用用户已经提供的服务器 IP、SSH 账户和密码,以每次运行独立的一次性密钥完成 Bootstrap,再自动建设每项目、每环境独立的受限 CI/CD 身份;不要求用户手工执行 ssh-copy-id、编辑服务器/平台配置或清理临时密钥。
0.1.4 更新内容(2026-09-03)
- 生产环境默认改为“两阶段密钥”:每次运行独立的临时 Bootstrap 身份 + 每项目、每环境独立的受限 CI/CD 身份。
- 首轮 Pipeline 和健康检查成功后,Agent 先删除远端 Bootstrap 公钥并验证旧身份已经失效,再删除本地临时私钥和密码载体。
- 不再把本机默认密钥或跨项目通用密钥作为生产长期身份;服务器登录密钥、Git Deploy Key、测试与生产密钥必须分离。
- Agent 自动创建非 root 部署用户、sudo 命令白名单、强制部署入口以及平台 Secret/runner/webhook;只在缺少授权、MFA、可信主机指纹或平台强制 gate 时要求用户介入。
- 准确计划的一次批准可覆盖 Bootstrap、CI/CD 建设、首条 Pipeline、部署验证和临时身份清理,避免逐项人工操作。
- 生产首次连接要求从可信渠道固定 SSH 主机指纹;
accept-new仅用于非生产或明确批准的临时场景。
0.1.3 更新内容(2026-09-03)
- 检测到用户提供的 Git 链接或当前项目的有效 Git remote 时,如果项目尚未记录决定,会先询问一次是否需要建设或接管 CI/CD。
- 用户接受后,技能负责设计并补齐流水线、部署脚本、制品/镜像链路和首次服务器 bootstrap。
- 首轮 CI/CD 验证成功后,后续普通版本更新固定走“本地修改 -> commit/push -> Pipeline -> 服务器发布与验证”。
- 托管 CI/CD 生效后禁止 Agent 重复使用
scp、SFTP 或 SSH heredoc 传输项目源码;只有经明确批准的短期应急方案允许例外。 - CI/CD 接受或拒绝决定会写入部署文档,每个项目不重复询问。
0.1.2 更新内容
- 新增显式
delivery_mode,可选择制品传输、目标机 Git 更新、CI/CD 编排或混合交付。 - 新增 Git 驱动部署参考,覆盖仓库认证、首次 clone、受控 fetch/checkout、commit 锁定、脏工作树门禁和版本回滚。
- 支持编排已有 GitLab CI、Jenkins、GitHub Actions 等流水线,并记录 pipeline/job、制品哈希或镜像 digest。
- 默认不会因为发现 Git URL 就擅自在生产服务器拉源码,也不会在未明确要求时创建或改写 CI/CD 配置。
0.1.1 更新内容
- 已提供服务器 IP、端口、账户和密码时,技能直接自动建立 SSH 免密连接,不再要求用户到终端输入密码或执行
ssh-copy-id。 - 自动选择安全的非交互认证适配器,并在免密复测后才进入部署阶段。
- SSH 初始化可包含在同一次部署批准中,避免重复审批;只读检查场景仍会在写入公钥前确认。
- 临时凭据载体必须限制权限、排除日志并立即清理,密码认证最多尝试两次以避免账户锁定。
从 npm 安装
发布后执行:
npx automated-deployment-skill install默认安装到:
$CODEX_HOME/skills/automated-deployment如果没有设置 CODEX_HOME,安装到:
~/.codex/skills/automated-deployment指定安装位置
npx automated-deployment-skill install --dest /path/to/.codex/skills/automated-deploymentWindows PowerShell:
npx automated-deployment-skill install --dest "$HOME\.codex\skills\automated-deployment"校验与卸载
npx automated-deployment-skill verify
npx automated-deployment-skill uninstall如果目标目录已经存在,安装器默认拒绝覆盖;确认要替换时才使用:
npx automated-deployment-skill install --force本地测试
在仓库中执行:
npm pack ./packages/automated-deployment-skill
npm exec --yes --package=./automated-deployment-skill-0.1.4.tgz -- automated-deployment-skill install --dest /tmp/codex/skills/automated-deployment发布到 npm
确认包名可用并登录 npm 后,在包目录执行:
npm publish --access public之后用户即可使用:
npx automated-deployment-skill install安装器本身只复制技能文件,不会执行远程部署,也不会读取 SSH 密码;安装后的技能在获得部署授权后,可以使用当前任务中已经提供的凭据自动建立免密连接。安装器不会覆盖已有技能,除非显式传入 --force。
