一、开发调试指南
(1) terraform-provider-ctyun插件本地配置
- 在`C:\Users\用户名\AppData\Roaming`目录中新建terraform.rc(本地mock插件配置)
注:只可在此目录,不可在其他路径下创建该文件,terraform官方定义的
- 在文件中写入
```
provider_installation {
dev_overrides {
# Terraform的gobin的地址
}
# For all other providers, install them directly from their origin provider
# registries as normal. If you omit this, Terraform will _only_ use
# the dev_overrides block, and so no other providers will be available.
direct {}
}
```
注:这里Terraform的gobin的地址与代码里资源配置文件resource.tf文件中source路径保持一致,该路径即为terraform-provider-ctyun.exe插件存放的位置
terraform {
required_providers {
ctyun = {
source = Terraform的gobin的地址
}
}
}
在电脑环境变量中需要配置GOBIN:
(2) Run/Debug Configurations如下配置:
Go tool arguments:-o D:\Terraform\gobin\terraform-provider-ctyun.exe
Program arguments:-debug
(3) Debug调试
1) 点击调试按钮,将PowerShell的内容复制
2) 在resource.tf路径下使用终端节点打开,复制PowerShell内容,并执行resource.tf文件
二、开发指南
资源配置文件 .tf文件:目标状态
state-backend terraform.tfstate:当前状态
internal-resource目录下的resource_ctyun_ecs.go文件
Metadata函数:
Metadata函数ctyun_ecs对应examples-resources-ctyun_ecs下的resource.tf文件的resource "ctyun_ecs",建立映射关系
Schema函数:是描述资源的元数据
Create、Read、Update、Delete:继承Resource接口,需要开发者去实现的函数
其他:
设置环境为测试环境或生产环境
可通过在请求头中设置consoleUrl,将命令转发到sit,dev
三、terraform命令
terraform apply
执行resource.tf目标文件
terraform refresh
远程状态同步本地
terraform show
本地状态展示
terraform destroy
资源销毁
四、打包发布
1、打包发布也就是打tag的流程,目前最新的releases是v1.0.3
后面把内容合并到v1.0.4的分支,然后把v1.0.4的合并到main分支,然后再从main打v1.0.4的tag
2、当发布新版本的时候,需要将main.go文件中version调整为待发布的版本
3、可在CHANGELOG.md文件中描述版本发布的内容,比如版本、时间、新增或修复的内容;