使用部署按鈕來部署遠端範本
本文說明如何使用「部署至 Azure」按鈕來將遠端 ARM JSON 範本從 GitHub 存放庫部署至 Azure 儲存體帳戶。 您可以直接將按鈕新增至 GitHub 存放庫中的 README.md 檔案。 或者,您可以將按鈕新增至參照存放庫的網頁。 本方法不支援部署遠端 Bicep 檔案。
部署範圍是由範圍結構描述所決定。 如需詳細資訊,請參閱
所需的權限
若要部署 Bicep 檔案或 ARM 範本,您需要對即將進行部署的資源具備寫入存取權,並可存取 Microsoft.Resources/部署資源類型上的所有作業。 例如,若要部署虛擬機器,您需要 Microsoft.Compute/virtualMachines/write
和 Microsoft.Resources/deployments/*
權限。 假設狀況作業具有相同的權限需求。
如需角色與權限的清單,請參閱 Azure 內建角色。
使用常見影像
若要將按鈕新增至您的網頁或存放庫,請使用下列影像:
![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>
影像會顯示為:
建立用來部署範本的 URL
本節說明如何取得儲存於 GitHub 和 Azure 儲存體帳戶中的範本 URL,以及如何格式化 URL。
儲存於 GitHub 中的範本
若要建立範本的 URL,請以 GitHub 存放庫中範本的原始 URL 開始。 若要查看原始 URL,請選取 [原始]。
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)
部署範本
若要測試完整的解決方案,請選取下列按鈕:
入口網站會顯示一個窗格,讓您輕鬆地提供參數值。 參數會預先填入範本中的預設值。 在入口網站上顯示時,範本中定義的 Camel 命名法參數名稱 storageAccountType 會轉換成以空格分隔的字串。
下一步
- 若要深入了解範本,請參閱瞭解 ARM 範本的結構和語法。