如何解决Azure Bicep 模块:可以从单独的存储库中引用模块吗? 本地单独的仓库
使用 Terraform 运行代码
我更熟悉 Terraform,我可以在其中执行以下操作:
module "storagemod" {
source = "git::https://MyProj@dev.azure.com/MyProj/Dataplatform/_git/myrepo//storage-account?ref=v0.2.0"
rg_name = "MyRG"
resource_name = "mynewdatalake"
.
.
.
}
上面引用的 source
是一个 不同的 Terraform 模块存储库,我引用它来创建资源。
存储库是一个私有 Azure 存储库(在 Azure DevOps 上),我可以访问它,因为我已经在管道的前一步中建立了 git 凭据:
steps:
- task: PowerShell@2
inputs:
targetType: inline
script: 'git config --global http.extraheader "AUTHORIZATION: bearer ${Env:SYSTEM_ACCESSTOKEN}"'
displayName: 'Setting Git Authentication header'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
如何在二头肌中做到这一点?
我如何使用 Azure Bicep 做类似的事情?我们正在尝试转移到二头肌。
当然,我可以对 Git 标头进行相同的身份验证,但是我该如何处理模块?
本地
如果它在同一个 repo 上是本地的,我可以这样做:
module storagemod './storage/datalake.bicep' = {
name: 'createDataLakeAndContainers'
params: {
.
.
.
}
}
单独的仓库
我可以做这样的事情吗?
module storagemod 'git::https://MyProj@dev.azure.com/MyProj/Dataplatform/_git/myrepo//storage-account?ref=v0.2.0' = {
name: 'createDataLakeAndContainers'
params: {
.
.
.
}
}
我无法让它工作,但我希望这个功能在那里,我只是语法错误。我找不到关于它的任何文档。
解决方法
这在 Bicep 中是不可能的(目前)。
在 bicep 的 github 中有两个未解决的问题可以解决这个问题:
目前唯一的方法是使用 git 子模块或使用一些自定义解决方案维护“远程”二头肌文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。