关于 setting-up-terraform
用于规划 Terraform 项目结构并指导 AWS、GCP 和 Azure 的基础设施即代码配置。内容涵盖可复用模块、状态管理和 CI 验证工作流。
主要功能
- 01Terraform 项目结构规划
- 02Provider 与变量配置
- 03可复用基础设施模块
- 04远程状态与锁定
- 05CI 检查和部署工作流
适用场景
- 01启动云基础设施项目
- 02分离开发、预发布和生产状态
- 03为 Pull Request 添加 Terraform 检查
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ revitalb-port/ skills-registry-demo --skill setting-up-terraform安装后在 Claude Code 中输入/setting-up-terraform确认已加载。
详细介绍
配置 Terraform
当用户要求配置 Terraform、基础设施即代码、云资源配置或 IaC 时,使用此技能。
步骤
-
初始化项目结构
infra/ ├── main.tf ├── variables.tf ├── outputs.tf ├── terraform.tfvars # (gitignored) ├── providers.tf └── modules/ -
配置提供程序——在
providers.tf中:terraform { required_version = ">= 1.5" required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } backend "s3" { bucket = "my-terraform-state" key = "prod/terraform.tfstate" region = "us-east-1" } } provider "aws" { region = var.aws_region }根据用户使用的云平台(AWS、GCP、Azure)调整提供程序。
-
定义变量——在
variables.tf中定义输入项,并指定类型、描述和默认值:variable "aws_region" { type = string default = "us-east-1" description = "AWS region for resources" } variable "environment" { type = string description = "Deployment environment (dev, staging, prod)" } -
创建资源——在
main.tf中定义用户需要的基础设施(VPC、RDS、ECS、S3、Lambda 等)。将可复用的模式提取到modules/下的模块中。 -
配置远程状态——使用 S3 存储桶(AWS)、GCS 存储桶(GCP)或 Azure Storage 存储状态。使用 DynamoDB(AWS)启用状态锁定。
-
添加到
.gitignore*.tfstate *.tfstate.* .terraform/ terraform.tfvars *.tfvars -
添加 CI 流水线——创建 GitHub Actions 工作流,在 PR 上运行
terraform fmt -check、terraform validate和terraform plan,并在合并到 main 时运行terraform apply(设置审批关卡)。
注意事项
- 切勿提交状态文件或包含机密信息的
.tfvars文件。 - 使用工作区或单独的状态文件来区分 dev/staging/prod。
- 固定提供程序版本,避免出现破坏性变更。
- 提交前运行
terraform fmt。
评论
支持 Markdown