0Pricing
Ansible Academy · 课时

带审批和 Check Mode 的受控部署

推动更改经过各个环境

带审批和 Check Mode 的受控部署 是 CoddyKit 上的免费 Ansible Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ansible Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ansible Academy 课程共包含 4 节课。

不是每次推送都部署到生产环境

持续交付很棒,但生产环境值得暂停一下。门槛让您可以在变更上线前预览并审批。🚦

使用检查模式进行预览

先以 --check 模式运行任务:Ansible 会报告将要发生的变更,但不会实际修改任何内容。

ansible-playbook site.yml --check

查看精确差异

将检查模式与 --diff 配合使用,让流水线日志显示实际运行会进行的精确文件修改。

ansible-playbook site.yml --check --diff

逐步推进到各个环境

先将变更发送到预发布环境,在那里完成验证,通过后再将同一个剧本推进到生产环境。

GitHub 环境添加规则

名为 production 的 GitHub环境可以要求审阅者,因此,目标为该环境的作业会等待人工审批。

jobs:
  deploy:
    environment: production

必需审阅者

在该环境中配置必需审阅者;部署作业会暂停,直到其中一人在界面中点击批准。

将计划作为构建产物保存

将检查模式的差异输出保存为构建产物,让审阅者可以准确了解他们要批准的内容。

- uses: actions/upload-artifact@v4
  with:
    path: plan.txt

拆分计划作业和应用作业

使用 needs 让应用作业依赖于计划作业,这样只有预览作业成功后才会应用任何变更。

apply:
  needs: plan
  environment: production

注意检查模式的局限

有些任务无法在检查模式下完全模拟。请为这些任务标记 check_mode: false,使其在试运行期间被跳过。

- command: /usr/bin/report
  check_mode: false

分批发布

获得批准后,使用 serial 分小批次部署,这样有问题的变更只会影响少量主机,您还来得及停止发布。

- hosts: web
  serial: 2

留下审计记录

审批操作、计划构建产物和运行日志共同构成一份审计记录,说明谁在何时发布了什么内容。

快速检查

如何在应用生产环境变更前预览它?

回顾:先审批,再应用

您为部署设置了门槛:使用检查模式和差异进行预览,在环境中要求审阅者审批,然后通过安全的 serial 批次逐步发布。🛡️

常见问题解答

「带审批和 Check Mode 的受控部署」课时是免费的吗?

是的 — 「带审批和 Check Mode 的受控部署」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ansible Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ansible Academy 课程共包含 4 节课。

「带审批和 Check Mode 的受控部署」这节课中我会学到什么?

推动更改经过各个环境 你通过在浏览器中直接运行的动手代码来练习 Ansible Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ansible Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ansible Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「带审批和 Check Mode 的受控部署」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ansible Academy 课中编写并运行代码吗?

能。每节 Ansible Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 将 ansible-lint 作为质量门禁
  2. 在 GitHub Actions 中运行 Playbook
  3. Pipeline 中的 Vault Secrets
  4. 带审批和 Check Mode 的受控部署
← 返回 Ansible Academy