0Pricing
DevOps Bootcamp · 课时

自动执行 `plan` 与 `apply`

在 CI/CD 系统中设置自动化的 `terraform plan` 以供审查,并使用 `terraform apply` 进行部署,确保部署过程一致。

自动执行 `plan` 与 `apply` 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

自动化 Terraform 部署

手动运行 terraform plan 和 terraform apply 可能速度较慢且容易出错,尤其是在团队环境中。

在持续集成/持续部署(CI/CD)流水线中自动执行这些步骤,可以带来显著优势:

  • 速度:更快地完成基础设施变更。
  • 一致性:消除人为错误。
  • 可靠性:确保部署结果可预测。
  • 协作:便于团队审查和批准。

自动预览变更

terraform plan 命令是您的安全保障。它会准确显示 Terraform 将对基础设施进行哪些变更,但不会实际执行这些变更。

在 CI/CD 流水线中,每次代码发生变更时(例如创建拉取请求),都应自动运行 plan。这样可以立即生成供审查的变更预览。

设置自动计划

将 terraform plan 集成到 CI 流水线通常包括以下几个步骤:

  1. 初始化:运行 terraform init,准备工作目录。
  2. 生成计划:执行 terraform plan,生成拟议的变更。
  3. 输出:保存计划输出以供审查。

下面是 CI 脚本可能采用的一种简化形式:

# ci_plan_stage.sh
terraform init
terraform plan -out=tfplan

了解拟议的变更

运行 terraform plan 后,其输出至关重要。输出会详细列出将要创建(+)、更新(~)或销毁(-)的每个资源。

审查这些输出(通常是在拉取请求评论中进行)有助于发现非预期的变更,确保基础设施的完整性。它是一个重要的检查点。

部署前的人工批准

安全自动化的一个关键方面,是为 terraform apply 步骤设置批准门控。通常,您不希望每次运行 plan 后都立即运行 apply。

相反,团队成员应审查 plan 输出并明确批准。批准操作(例如合并拉取请求)随后会触发实际部署。

自动部署基础设施

审查并批准 terraform plan 后,就由 terraform apply 接手。此命令会执行配置文件中定义的变更。

在 CI/CD 流水线中,apply 通常会在成功合并到指定的部署分支(例如 main 或 production)后触发,也可以在批准后通过手动触发。

自动部署步骤

自动运行 terraform apply 时,您通常会在 CI/CD 环境中使用 -auto-approve 标志。请注意,这会跳过交互式确认提示。

请始终确保此步骤受到严格的访问控制保护,并且只有在基于成功计划获得明确的人工或自动批准后才会运行。

# cd_apply_stage.sh
terraform init
terraform apply -auto-approve tfplan

始终一致的部署

Terraform 的设计具有幂等性。这意味着,如果您使用相同配置多次运行 terraform apply,只有在实际基础设施与期望状态不一致时,它才会进行变更。

如果基础设施已经符合配置,apply 将不会执行任何操作,从而确保部署一致且可靠,不会产生非预期的副作用。

保护自动化工作流

自动运行 plan 和 apply 时:

  • 最小权限:确保 CI/CD 代理仅拥有必要的权限。
  • 远程状态:使用带锁定功能的远程状态后端,以支持团队协作。
  • 版本控制:将所有 Terraform 配置置于版本控制之下。
  • 监控:针对部署状态实施监控和告警。

检查您的理解

让我们检查一下您对在 CI/CD 中自动运行 Terraform 的掌握情况!

要点总结

在本课中,我们学习了如何在 CI/CD 流水线中自动运行 terraform plan 和 terraform apply。

  • terraform plan 可安全预览变更,非常适合自动检查和人工审查。
  • 通过批准门控控制 apply,可以确保关键变更经过审核。
  • terraform apply 可自动执行部署,在受控环境中通常会使用 -auto-approve。
  • Terraform 的幂等性让自动化部署更加可靠且可预测。

这种自动化对于高效、一致且协作式的基础设施管理至关重要!

常见问题解答

「自动执行 `plan` 与 `apply`」课时是免费的吗?

是的 — 「自动执行 `plan` 与 `apply`」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「自动执行 `plan` 与 `apply`」这节课中我会学到什么?

在 CI/CD 系统中设置自动化的 `terraform plan` 以供审查,并使用 `terraform apply` 进行部署,确保部署过程一致。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

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

「自动执行 `plan` 与 `apply`」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. CI/CD 流水线中的 Terraform
  2. 自动执行 `plan` 与 `apply`
  3. 安全的凭据管理
  4. GitOps 与拉取请求自动化
← 返回 DevOps Bootcamp