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 项目。
相关主题
- 使用 GitLab 作为 Terraform/OpenTofu 模块注册表。
- 要将状态文件存储在本地存储或远程存储中,请使用 GitLab 管理的 Terraform/OpenTofu 状态。
- 要协作处理 Terraform 代码更改和 IaC 工作流,请使用 合并请求中的 Terraform 集成。
- 要管理用户、组和项目等 GitLab 资源,请使用 GitLab Terraform 提供程序。 GitLab Terraform 提供程序文档可在 Terraform 文档站点 上获取。
- 在 Amazon Elastic Kubernetes Service (EKS) 上创建新集群。
- 在 Google Kubernetes Engine (GKE) 上创建新集群。
- 排查 GitLab 和 Terraform 的问题。
- 查看 包含
gitlab-terraformshell 脚本的镜像。