searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

trraform开发调试指南

2024-09-29 09:55:16
65
0

一、开发调试指南

(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函数:是描述资源的元数据

CreateReadUpdateDelete:继承Resource接口,需要开发者去实现的函数

 

其他:

设置环境为测试环境或生产环境

可通过在请求头中设置consoleUrl,将命令转发到sitdev

三、terraform命令

terraform apply

执行resource.tf目标文件

 

terraform refresh

远程状态同步本地

 

terraform show

本地状态展示

 

terraform destroy

资源销毁

四、打包发布

1、打包发布也就是打tag的流程,目前最新的releasesv1.0.3

 

后面把内容合并到v1.0.4的分支,然后把v1.0.4的合并到main分支,然后再从mainv1.0.4tag

2、当发布新版本的时候,需要将main.go文件中version调整为待发布的版本

3、可在CHANGELOG.md文件中描述版本发布的内容,比如版本、时间、新增或修复的内容;

0条评论
作者已关闭评论
y****n
5文章数
1粉丝数
y****n
5 文章 | 1 粉丝
原创

trraform开发调试指南

2024-09-29 09:55:16
65
0

一、开发调试指南

(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函数:是描述资源的元数据

CreateReadUpdateDelete:继承Resource接口,需要开发者去实现的函数

 

其他:

设置环境为测试环境或生产环境

可通过在请求头中设置consoleUrl,将命令转发到sitdev

三、terraform命令

terraform apply

执行resource.tf目标文件

 

terraform refresh

远程状态同步本地

 

terraform show

本地状态展示

 

terraform destroy

资源销毁

四、打包发布

1、打包发布也就是打tag的流程,目前最新的releasesv1.0.3

 

后面把内容合并到v1.0.4的分支,然后把v1.0.4的合并到main分支,然后再从mainv1.0.4tag

2、当发布新版本的时候,需要将main.go文件中version调整为待发布的版本

3、可在CHANGELOG.md文件中描述版本发布的内容,比如版本、时间、新增或修复的内容;

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0