Compartir a través de


Uso de un botón de implementación para implementar plantillas remotas

En este artículo se describe cómo usar el botón Implementar en Azure para implementar plantillas JSON de ARM remotas desde un repositorio de GitHub o una cuenta de Almacenamiento de Azure. Puede agregar el botón directamente al archivo README.md en el repositorio de GitHub. O bien, puede agregar el botón a una página web que haga referencia al repositorio. Este método no admite la implementación de archivos de Bicep remotos.

El ámbito de implementación viene determinado por el esquema de plantilla. Para obtener más información, consulte:

Permisos necesarios

Para implementar un archivo de Bicep o una plantilla de ARM, necesitas acceso de escritura en los recursos que estás implementando y acceso para realizar todas las operaciones en el tipo de recurso Microsoft.Resources/deployments. Por ejemplo, para implementar una máquina virtual, necesita los permisos Microsoft.Compute/virtualMachines/write y Microsoft.Resources/deployments/*. La operación what-if tiene los mismos requisitos de permisos.

Para obtener una lista de roles y permisos, consulte Roles integrados de Azure.

Uso de una imagen común

Para agregar el botón a la página web o al repositorio, use la siguiente imagen:

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

La imagen aparece como:

Captura de pantalla del botón Implementar en Azure.

Creación de una dirección URL para implementar la plantilla

En esta sección se muestra cómo obtener las direcciones URL de las plantillas almacenadas en GitHub y la cuenta de Azure Storage, y cómo dar formato a las direcciones URL.

Plantilla almacenada en GitHub

Para crear la URL de tu plantilla, comienza con la URL original de la plantilla en tu repositorio de GitHub. Para ver la dirección URL sin procesar, seleccione Sin procesar.

Captura de pantalla que muestra cómo seleccionar Raw en GitHub.

El formato de la dirección URL es:

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

Nota:

Para implementar una plantilla o hacer referencia a una plantilla vinculada almacenada en un repositorio privado de GitHub, consulte una solución personalizada documentada en Creación de una oferta de Azure Portal personalizada y segura. Puede crear una función de Azure que extraiga el token de GitHub de Azure Key Vault.

Si usa Git con Azure Repos en lugar de un repositorio de GitHub, puede seguir usando el botón Implementar en Azure . Asegúrese de que el repositorio es público. Use la operación Items para obtener la plantilla. La solicitud debe tener el formato siguiente:

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

Plantilla almacenada en la cuenta de Almacenamiento de Azure

El formato de las direcciones URL de las plantillas almacenadas en un contenedor público es:

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

Por ejemplo:

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

Puede proteger la plantilla con el token de SAS. Para más información, consulte Implementación de una plantilla de ARM privada con el token de SAS. La siguiente dirección URL es un ejemplo con el token de 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

Dar formato a la dirección URL

Una vez que tenga la dirección URL, debe convertir la dirección URL en un valor con codificación URL. Puede usar un codificador en línea o ejecutar un comando. En el siguiente ejemplo de PowerShell se muestra cómo codificar un valor de URL.

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

La dirección URL de ejemplo tiene el siguiente valor cuando la dirección URL está codificada.

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

Cada vínculo comienza con la misma dirección URL base:

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

Agregue el vínculo de plantilla con codificación URL al final de la dirección URL 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

Ya tiene la dirección URL completa del vínculo.

Crear el botón Implementar en Azure

Por último, coloque el vínculo y la imagen juntos.

Para agregar el botón con Markdown en el archivo README.md en el repositorio de GitHub o en una página web, use:

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

Para HTML, utilice:

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

Para Git con el repositorio de Azure, el botón tiene el 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)

Implementación de la plantilla

Para probar la solución completa, seleccione el botón siguiente:

Captura de pantalla del botón Implementar en Azure con el vínculo.

El portal muestra un panel que permite proporcionar fácilmente valores de parámetro. Los parámetros se rellenan previamente con los valores predeterminados de la plantilla. El nombre del parámetro con mayúsculas y minúsculas Camel, storageAccountType, definido en la plantilla se convierte en una cadena separada por espacios cuando se muestra en el portal.

Captura de pantalla de Azure Portal en la que se muestra el panel para proporcionar valores de parámetro.

Pasos siguientes