Compartir a través de


Automatización de la integración continua mediante versiones de Azure Pipelines

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga más información sobre cómo iniciar una nueva evaluación gratuita.

A continuación se ofrece una guía para configurar una versión de Azure Pipelines, que automatiza la implementación de una factoría de datos en varios entornos.

Requisitos

Configuración de una versión de Azure Pipelines

  1. En Azure DevOps, abra el proyecto configurado con la factoría de datos.

  2. En el lado izquierdo de la página, seleccione Canalizaciones y después Versiones.

    Select Pipelines, Releases

  3. Seleccione Nueva canalización o, si tiene canalizaciones existentes, seleccione Nueva y, luego Nueva canalización de versión.

  4. Seleccione la plantilla Fase vacía.

    Select Empty job

  5. En el cuadro Nombre de la fase, escriba el nombre del entorno.

  6. Seleccione Agregar artefacto y después el mismo repositorio de Git configurado con la factoría de datos de desarrollo. Seleccione la rama de publicación del repositorio en Rama predeterminada. De forma predeterminada, esta rama de publicación es adf_publish. En Versión predeterminada, seleccione Más reciente de la rama predeterminada.

    Add an artifact

  7. Añada una tarea de implementación de Azure Resource Manager:

    a. En la vista de fase, seleccione Ver tareas de la fase.

    Stage view

    b. Cree una nueva tarea. Busque Implementación de una plantilla de Resource Manager y, después, seleccione Agregar.

    c. En la tarea de implementación, seleccione la suscripción, el grupo de recursos y la ubicación de la factoría de datos de destino. Proporcione las credenciales si es necesario.

    d. En la lista Acción, seleccione Create or update resource group (Crear o actualizar grupo de recursos).

    e. Seleccione el botón de puntos suspensivos ( ... ) situado junto al cuadro Plantilla. Busque la plantilla de Azure Resource Manager que se ha generado en la rama de publicación del repositorio de Git configurado. Busque el archivo ARMTemplateForFactory.json en la carpeta <FactoryName> de la rama adf_publish.

    f. Seleccione junto al cuadro Parámetros de plantilla para elegir el archivo de parámetros. Busque el archivo ARMTemplateParametersForFactory.json en la carpeta >FactoryName< de la rama adf_publish.

    g. Seleccione junto al cuadro Reemplazar parámetros de plantilla y escriba los valores de los parámetros deseados de la factoría de datos de destino. En el caso de las credenciales que proceden de Azure Key Vault, escriba el nombre del secreto entre comillas dobles. Por ejemplo, si el nombre del secreto es cred1, escriba "$(cred1)" para este valor.

    h. Seleccione Incremental para el Modo de implementación.

    Advertencia

    En el modo de implementación completa, se eliminarán aquellos recursos que existan en el grupo de recursos, pero no estén especificados en la nueva plantilla de Resource Manager. Para más información, consulte Modos de implementación de Azure Resource Manager.

    Data Factory Prod Deployment

  8. Guarde la canalización de versión.

  9. Para desencadenar una versión, seleccione Crear versión. Para automatizar la creación de versiones, consulte Desencadenadores de versión de Azure DevOps.

    Select Create release

Importante

En escenarios de CI/CD, el tipo de entorno de ejecución de integración (IR) en otros entornos debe ser el mismo. Por ejemplo, si tiene un IR autohospedado en el entorno de desarrollo, el mismo IR también debe ser de tipo autohospedado en otros entornos, como los de prueba y producción. Del mismo modo, si va a compartir los entornos de ejecución de integración entre varias fases, tendrá que configurarlos como autohospedados vinculados en todos los entornos: desarrollo, prueba y producción.

Obtención de secretos de Azure Key Vault

Si tiene secretos para pasar en una plantilla de Azure Resource Manager, se recomienda usar Azure Key Vault con la versión de Azure Pipelines.

Hay dos formas de administrar los secretos:

  • Agregue los secretos al archivo de parámetros. Para más información, consulte Uso de Azure Key Vault para pasar el valor de parámetro seguro durante la implementación.

    Cree una copia del archivo de parámetros que se ha cargado en la rama de publicación. Establezca los valores de los parámetros que quiera obtener del almacén de claves con este formato:

    {
        "parameters": {
            "azureSqlReportingDbPassword": {
                "reference": {
                    "keyVault": {
                        "id": "/subscriptions/<subId>/resourceGroups/<resourcegroupId> /providers/Microsoft.KeyVault/vaults/<vault-name> "
                    },
                    "secretName": " < secret - name > "
                }
            }
        }
    }
    

    Al utilizar este método, el secreto se extrae automáticamente del almacén de claves.

    El archivo de parámetros también debe estar en la rama de publicación.

  • Agregue una tarea de Azure Key Vault antes de la tarea de implementación de Azure Resource Manager que se ha descrito en la sección anterior:

    1. En la pestaña Tareas, cree una tarea. Busque Azure Key Vault y agréguelo.

    2. En la tarea de Key Vault, seleccione la suscripción en la que haya creado el almacén de claves. Proporcione credenciales si es necesario y, después, seleccione el almacén de claves.

    Add a Key Vault task

Concesión de permisos al agente de Azure Pipelines

Es posible que se produzca un error de acceso denegado en la tarea Azure Key Vault si no se han establecido los permisos correctos. Descargue los registros de la versión y busque el archivo .ps1 que contiene el comando para conceder permisos al agente de Azure Pipelines. Puede ejecutar el comando directamente. O bien, puede copiar el identificador de entidad de seguridad del archivo y añadir la directiva de acceso manualmente en Azure Portal. Get y List son los permisos mínimos necesarios.

Actualización de desencadenadores activos

Instale los módulos de Azure PowerShell siguiendo las instrucciones de Cómo instalar y configurar Azure PowerShell.

Advertencia

Si no usa las versiones más recientes del módulo de PowerShell y Data Factory, puede que se produzcan errores de deserialización al ejecutarse los comandos.

Puede producirse un error en la implementación si intenta actualizar desencadenadores activos. Para actualizar desencadenadores activos, debe detenerlos manualmente e iniciarlos después de la implementación. Puede hacerlo mediante una tarea de Azure PowerShell:

  1. En la pestaña Tareas de la versión, agregue una tarea Azure PowerShell. Elija la versión de tarea más reciente de Azure PowerShell.

  2. Seleccione la suscripción en la que se encuentra la factoría.

  3. Seleccione Ruta de acceso del archivo de script como tipo de script. Esto requiere guardar el script de PowerShell en el repositorio. El siguiente script de PowerShell sirve para detener desencadenadores:

    $triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName
    
    $triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
    

Puede completar pasos similares (con la función Start-AzDataFactoryV2Trigger) para reiniciar los desencadenadores después de la implementación.

El equipo de factoría de datos ha proporcionado un script de ejemplo anterior y posterior a la implementación.

Nota

Use PrePostDeploymentScript.Ver2.ps1 si quiere desactivar o activar solo los desencadenadores que se han modificado en lugar de desactivarlos o activarlos todos durante la CI/CD.

Advertencia

Asegúrese de usar PowerShell Core en la tarea de ADO para ejecutar el script.