Help us learn about your current experience with the documentation. Take the survey.

使用 OpenTofu 和 GitLab 进行基础设施即代码

  • Tier: 免费版, 高级版, 终极版
  • Offering: GitLab.com, GitLab 自托管, GitLab 专属

使用 GitLab 管理基础设施时,你可以使用与 OpenTofu 的集成来定义可以版本化、重用和共享的资源:

  • 管理计算、存储和网络资源等底层组件。
  • 管理DNS条目和SaaS功能等高层组件。
  • 使用 GitLab 作为 OpenTofu 状态存储。
  • 存储和使用 OpenTofu 模块来简化常见和复杂的基础设施模式。
  • 集成 GitOps 部署和基础设施即代码(IaC)工作流。

观看 功能概述视频,了解 GitLab 与 OpenTofu 集成提供的功能。

以下示例主要使用 OpenTofu,但它们也可以与 Terraform 一起使用。

Terraform 和 OpenTofu 支持

GitLab 与 Terraform 和 OpenTofu 都能集成。 大多数功能完全兼容,包括:

为简化起见,GitLab 文档主要指代 OpenTofu。 但是,Terraform 和 OpenTofu 集成之间的差异 已有文档说明。

在流水线中快速入门 OpenTofu 项目

通过 GitLab OpenTofu CI/CD 组件,OpenTofu 可以与所有 Terraform 特有的 GitLab 功能集成。

你可以通过包含该组件来为你的流水线添加 验证计划应用 工作流:

include:
  - component: gitlab.com/components/opentofu/validate-plan-apply@<VERSION>
    inputs:
      version: <VERSION>
      opentofu_version: <OPENTOFU_VERSION>
      root_dir: terraform/
      state_name: production

stages: [validate, build, deploy]

有关模板、输入以及如何使用 OpenTofu CI/CD 组件的更多信息,请参阅 OpenTofu CI/CD 组件 README

构建和托管你自己的 Terraform CI/CD 模板

虽然 GitLab 不再分发 Terraform CI/CD 模板 和 terraform-images(底层作业镜像,包括 terraform), 但你仍然可以在 GitLab 流水线中使用 Terraform。

要了解如何构建和托管你自己的模板和镜像,请参阅 Terraform Images 项目。

相关主题