问题描述
使用纯 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
不错!但是如何通过使用二头肌模板来实现相同的目标?
简单地用二头肌文件替换 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 的描述插入标准的部署按钮