azure-devops - 在执行 Terraform git import 之前修改源文件
问题描述
我有一个 terraform 代码,可以通过从另一个父存储库导入来创建一个存储库。下面的代码运行良好,我可以导入 repo。
resource "azuredevops_serviceendpoint_generic_git" "serviceendpoint" {
project_id = azuredevops_project.project.id
repository_url = "https://{ORG}@dev.azure.com/{ORG}/{Proj}/_git/newrepo"
username = "test"
password = "PAT"
service_endpoint_name = "Sample Generic Git"
description = "Managed by Terraform"
}
resource "azuredevops_git_repository" "reponew" {
project_id = azuredevops_project.project.id
name = "newrepo"
initialization {
init_type = "Import"
source_type = "Git"
source_url = "https://{ORG}@dev.azure.com/{ORG}/{Proj}/_git/parentrepo"
service_connection_id = azuredevops_serviceendpoint_generic_git.serviceendpoint.id
}
}
但我的要求是在导入到 newrepo 之前修改一些文件。我为此目的使用了 null_resource 。但它面临着一些问题,如 Terraform null_resource not running with backend中所述
我们如何在使用 Terraform 导入之前修改一些文件?
解决方案
您可以使用azuredevops_git_repository_file
构造进行更改(提交)。content
属性可以是文件或字符串类型。
resource "azuredevops_git_repository_file" "repo_file" {
repository_id = azuredevops_git_repository.reponew.id
file = "README.MD"
content = file("templates/localfile")
branch = "refs/heads/master"
commit_message = "Update commit"
overwrite_on_create = false
}
推荐阅读
- angular - 如何在 Angular Material 中拥有“简单”的可替换占位符文本?
- python - 如何在本地图像上应用带有请求库的 Azure OCR API?
- r - R - 将数据帧从长格式转换为具有多个值列的宽格式
- flutter - Flutter Google Maps 断言失败:第 24 行 pos 16:'target != null':不正确
- c++ - 关闭弹出窗口并设置按钮标签
- c# - 我想在 linq 中搜索时用 '%' 符号替换空格包含
- javascript - 为什么这段代码在 codewars 的测试用例中会收到错误?
- design-patterns - 在 PyTorch 中处理表格数据标准化的标准方法
- mysql - 如何在 Mysql 查询中根据不同的枚举类型获取特定的列?
- git - mac M1 git pull 显示类 AMSupportURLConnectionDelegate 都在 /usr/lib/libauthinstall.dylib 中实现 两者之一将被使用