azure - 将多个 Bicep 模板发布到容器注册表

标签 azure azure-rm-template azure-container-registry azure-bicep

我们正在将基础架构从使用 ARM 模板转换为 Bicep 模板。我们有一个专用存储库,其中包含所有模板文件,我们希望将其发布到中央存储库,以供我们组织中的其他存储库使用。

以前使用 ARM 模板时,我们将包含所有模板的文件夹发布到 Azure 存储帐户,然后其他存储库可以使用模板 blob url 和 SAS token 来引用该文件夹。我们希望使用二头肌模板做一些事情,这样我们就不需要单独发布每个模板。目前,az cli 和 powershell 命令仅包含使用 --file 参数一次发布一个文件的功能:

az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1

我看到的唯一可能性是在 powershell 中使用 foreach 语句来迭代文件夹中的每个文件并单独发布:

foreach ($file in Get-ChildItem)
{
  az bicep publish --file $file.name --target br:exampleregistry.azurecr.io/bicep/modules/$filename:$version
}

问题:

有没有人想出一种更优化的方法来在一次操作中发布多个二头肌模板?

最佳答案

  • 据我所知,您所做的方式似乎是发布多个二头肌的方式 acr 的模板,它会迭代每个二头肌文件。
  • 您还可以查看此 Automate Maintaining a Private Bicep Module Registry with Azure Pipelines已经发布的在哪里 与文件夹中的二头肌文件相比,每次只有不存在的文件发布到注册表。
  • 此处 ACR 用于创建私有(private) Bicep 注册表以供共享 模块和构建管道用于将模块发布到 ACR 当添加新模块或修改或更改现有模块时。

关于azure - 将多个 Bicep 模板发布到容器注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71940586/

相关文章:

linux - CallerFilePathAttribute 在 Azure 的 Linux 容器应用程序服务上不返回具有有效目录分隔符的文件路径

azure - 如何从 Azure 中的不同订阅和租户 ID 中提取 ACR 中可用的 docker 镜像

Azure 容器生成错误 '503' 原因 'site unavailable'

azure - 在 ARM 模板中有条件地设置应用程序设置值

kubernetes - Kubernetes 升级到 v1.22 后 DevOps CI/CD 管道中断

azure - 应用程序服务上的 httpcontextaccessor 空引用,但不进行调试

c# - Xamarin Forms 拉取异步表。CreateQuery() 默认添加了 OFFSET

windows - 无法创建 Azure 容器实例 (Windows)

azure - Azure 函数事件网格订阅自定义主题的 ARM 模板部署失败

azure - 检索服务总线事件中心连接字符串