使用部署按鈕來部署遠端範本

本文說明如何使用「部署至 Azure」按鈕來將遠端 ARM JSON 範本從 GitHub 存放庫部署至 Azure 儲存體帳戶。 您可以直接將按鈕新增至 GitHub 存放庫中的 README.md 檔案。 或者,您可以將按鈕新增至參照存放庫的網頁。 本方法不支援部署遠端 Bicep 檔案

部署範圍是由範圍結構描述所決定。 如需詳細資訊,請參閱

所需的權限

若要部署 Bicep 檔案或 ARM 範本,您需要對即將進行部署的資源具備寫入存取權,並可存取 Microsoft.Resources/部署資源類型上的所有作業。 例如,若要部署虛擬機器,您需要 Microsoft.Compute/virtualMachines/writeMicrosoft.Resources/deployments/* 權限。 假設狀況作業具有相同的權限需求。

如需角色與權限的清單,請參閱 Azure 內建角色

使用常見影像

若要將按鈕新增至您的網頁或存放庫,請使用下列影像:

![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>

影像會顯示為:

Screenshot of Deploy to Azure button.

建立用來部署範本的 URL

本節說明如何取得儲存於 GitHub 和 Azure 儲存體帳戶中的範本 URL,以及如何格式化 URL。

儲存於 GitHub 中的範本

若要建立範本的 URL,請以 GitHub 存放庫中範本的原始 URL 開始。 若要查看原始 URL,請選取 [原始]。

Screenshot showing how to select Raw in GitHub.

URL 的格式為:

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json

注意

若要針對儲存在私人 GitHub 存放庫中的連結範本來部署範本或參考,請參閱建立自訂和安全 Azure 入口網站供應項目中記載的自訂解決方案。 您可以建立 Azure 函數,以從 Azure Key Vault 提取 GitHub 權杖。

如果使用的是Azure Repos 的 Git,而不是 GitHub 存放庫,則您仍可以使用 [部署至 Azure] 按鈕。 請確定您的存放庫為公用。 使用項目作業來取得範本。 您的要求應採用下列格式:

https://dev.azure.com/{organization-name}/{project-name}/_apis/git/repositories/{repository-name}/items?scopePath={url-encoded-path}&api-version=6.0

儲存於 Azure 儲存體帳戶中的範本

儲存於公用容器中範本的 URL 格式為:

https://{storage-account-name}.blob.core.windows.net/{container-name}/{template-file-name}

例如:

https://demostorage0215.blob.core.windows.net/democontainer/azuredeploy.json

您可以使用 SAS 權杖來保護範本。 如需詳細資訊,請參閱如何使用 SAS 權杖部署私人 ARM 範本。 下列 URL 是使用 SAS 權杖的範例:

https://demostorage0215.blob.core.windows.net/privatecontainer/azuredeploy.json?sv=2019-07-07&sr=b&sig=rnI8%2FvKoCHmvmP7XvfspfyzdHjtN4GPsSqB8qMI9FAo%3D&se=2022-02-16T17%3A47%3A46Z&sp=r

格式化 URL

一旦具有 URL,您必須將 URL 轉換成 URL 編碼值。 您可以使用線上編碼器,或執行命令。 下列 PowerShell 範例示範如何對值進行 URL 編碼。

$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)

URL 編碼時,範例 URL 會具有下列值。

https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json

每個連結均會以相同的基底 URL 為開頭:

https://portal.azure.com/#create/Microsoft.Template/uri/

將您的 URL 編碼範本連結新增至基底 URL 的結尾。

https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json

您便有連結的完整 URL。

建立「部署至 Azure」按鈕

最後,將連結和影像放在一起。

若要使用 Markdown 在 GitHub 存放庫的 README.md 檔案或網頁中新增按鈕,請使用:

[![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%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json)

針對 HTML,請使用:

<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json" target="_blank">
  <img src="https://aka.ms/deploytoazurebutton"/>
</a>

針對 Azure Repos 的 Git,按鈕的格式如下:

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fdev.azure.com%2Forgname%2Fprojectname%2F_apis%2Fgit%2Frepositories%2Freponame%2Fitems%3FscopePath%3D%2freponame%2fazuredeploy.json%26api-version%3D6.0)

部署範本

若要測試完整的解決方案,請選取下列按鈕:

Screenshot of Deploy to Azure button with link.

入口網站會顯示一個窗格,讓您輕鬆地提供參數值。 參數會預先填入範本中的預設值。 在入口網站上顯示時,範本中定義的 Camel 命名法參數名稱 storageAccountType 會轉換成以空格分隔的字串。

Screenshot of Azure portal displaying pane for providing parameter values.

下一步