【问题标题】:How to create a "Deploy to Azure" button that uses a bicep instead of an JSON template?如何创建使用二头肌而不是 JSON 模板的“部署到 Azure”按钮?
【发布时间】:2021-06-13 03:24:28
【问题描述】:

使用纯 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 编码部分是行不通的。我知道二头肌进行了转译并生成了一个基于 JSON 的 ARM 模板。

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

【问题讨论】:

    标签: azure azure-resource-manager azure-bicep


    【解决方案1】:

    门户目前不支持此功能。

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

    不是很理想,而是一个时间点……

    【讨论】:

      【解决方案2】:

      同时,在我的一个项目中,我创建了一个 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 所述

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-07
        • 1970-01-01
        • 1970-01-01
        • 2021-10-26
        • 2022-06-29
        • 2023-03-10
        • 1970-01-01
        • 2022-06-13
        相关资源
        最近更新 更多