如何创建使用二头肌而不是 JSON 模板的“部署到 Azure”按钮?

问题描述

使用纯 JSON ARM 模板时,我们可以通过嵌入以下格式的链接来创建 Deploy to Azure 按钮:

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2F101-storage-account-create%2Fazuredeploy.json)

这导致了一个易于使用的操作,甚至适用于 Stackoverflow

Deploy to Azure

不错!但是如何通过使用二头肌模板来实现相同的目标?

简单地用二头肌文件替换 URL 编码部分是行不通的。我知道 bicep 会进行转译并生成基于 JSON 的 ARM 模板。

但是,由于我们能够使用 Azure CLI 直接部署二头肌文件,因此可能会有另一个端点(如 https://portal.azure.com/#create/Microsoft.Template/uri)为我们执行此操作。

解决方法

门户目前不支持此功能。

作为一种变通方法,您可以使用 bicep build 的输出并将部署按钮链接到 json 文件(这就是我们将在 QuickStart 存储库中执行的操作,直到门户本身支持二头肌)。

不理想,但时间点...

,

与此同时,在我的一个项目中,我创建了一个 GitHub 工作流,它基于 Bicep 模板构建 ARM 模板文件,并'自动'使用 Add&Commit 操作

提交到存储库

这是一个简单的工作流模板:

- name: Install Bicep build
  run: |
    curl -Lo bicepinstall
    https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64
    chmod +x ./bicepinstall
    sudo mv ./bicepinstall /usr/local/bin/bicep
    bicep --help

- name: Run Bicep build
  run: |
    bicep build deploy/main.bicep
    ls -l deploy/*.json
    
- uses: EndBug/add-and-commit@v7.0.0
  with:
    author_name: github-actions
    author_email: '41898282+github-actions[bot]@users.noreply.github.com'
    message: Update Bicep-ARM template
    add: deploy/main.json

然后在自述文件中,您可以按照 bmoore-msft 的描述插入标准的部署按钮

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...