Condividi tramite


Usare un pulsante di distribuzione per distribuire modelli remoti

Questo articolo descrive come usare il pulsante Deploy per Azure per distribuire modelli JSON ARM remoti da un repository GitHub o da un account di archiviazione Azure. È possibile aggiungere il pulsante direttamente al file README.md nel repository GitHub. In alternativa, è possibile aggiungere il pulsante a una pagina Web che fa riferimento al repository. Questo metodo non supporta la distribuzione di file remoti Bicep.

L'ambito di distribuzione è determinato dallo schema del modello. Per altre informazioni, vedere:

Prerequisiti

Autorizzazioni necessarie

Per distribuire un file Bicep o un modello di Azure Resource Manager (ARM), è necessario l'accesso in scrittura alle risorse distribuite e l'accesso a tutte le operazioni nel tipo di risorsa Microsoft.Resources/deployments. Ad esempio, per distribuire una macchina virtuale, sono necessarie autorizzazioni /Microsoft.Compute/virtualMachines/write e Microsoft.Resources/deployments/*. L'operazione di simulazione ha gli stessi requisiti di autorizzazione.

interfaccia della riga di comando di Azure versione 2.76.0 o successiva e Azure PowerShell versione 13.4.0 o successiva introducono il parametro ValidationLevel per determinare quanto accuratamente ARM convalida il modello di Bicep durante questo processo. Per altre informazioni, vedere Comandi di simulazione

Per un elenco di ruoli e autorizzazioni, vedere Azure ruoli predefiniti.

Usare un'immagine comune

Per aggiungere il pulsante alla pagina Web o al repository, usare l'immagine seguente:

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

L'immagine viene visualizzata come segue:

Screenshot del pulsante Deploy to Azure.

Creare l'URL per la distribuzione del modello

Questa sezione illustra come ottenere gli URL per i modelli archiviati in GitHub e Azure account di archiviazione e come formattare gli URL.

Modello archiviato in GitHub

Per creare l'URL per il modello, iniziare con l'URL non elaborato del modello nel repository GitHub. Per visualizzare l'URL non elaborato, selezionare Raw (Non elaborato).

Screenshot che mostra come selezionare Raw in GitHub.

Il formato dell'URL è:

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

Annotazioni

Per distribuire un modello o fare riferimento a un modello collegato archiviato in un repository privato GitHub, vedere una soluzione personalizzata documentata in Creating a Custom and Secure portale di Azure Offering. È possibile creare una funzione Azure che estrae il token di GitHub dalla Azure Key Vault.

Se si usa Git con Azure Repos anziché un repository GitHub, è comunque possibile usare il pulsante Deploy per Azure. Assicurarsi che il repository sia pubblico. Usare l'operazione Items per ottenere il modello. La richiesta deve essere nel formato seguente:

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

Modello archiviato nell'account di archiviazione Azure

Il formato degli URL per i modelli archiviati in un contenitore pubblico è:

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

Per esempio:

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

È possibile proteggere il modello con un token SAS. Per altre informazioni, vedere Come distribuire un modello di ARM privato con un token di firma di accesso condiviso (SAS). L'URL seguente costituisce un esempio con token di firma di accesso condiviso:

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

Formattare l'URL

Dopo aver ottenuto l'URL, è necessario convertire l'URL in un valore con codifica URL. È possibile usare un codificatore online o eseguire un comando. L'esempio di PowerShell seguente illustra come codificare un valore in URL.

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

L'URL di esempio ha il valore seguente quando viene codificato l'URL.

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

Ogni collegamento inizia con lo stesso URL di base:

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

Aggiungere il collegamento al modello con codifica URL alla fine dell'URL di base.

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

Si dispone dell'URL completo per il collegamento.

Pulsante per creare e distribuire in Azure

Infine, mettere insieme il collegamento e l'immagine.

Per aggiungere il pulsante con Markdown nel file README.md nel repository GitHub o in una pagina Web, usare:

[![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)

Per HTML, usare:

<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>

Per Git con Azure repository, il pulsante è nel formato:

[![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)

Implementare il modello

Per testare la soluzione completa, selezionare il pulsante seguente:

Screenshot del pulsante Distribuisci in Azure con collegamento.

Nel portale viene visualizzato un riquadro che consente di specificare facilmente i valori dei parametri. I parametri vengono precompilati con i valori predefiniti del modello. Il nome del parametro con notazione a cammello, storageAccountType, definito nel modello viene trasformato in una stringa separata da spazi quando viene visualizzata nel portale.

Screenshot del portale di Azure che mostra il riquadro per fornire i valori dei parametri.

Passaggi successivi