Delen via


Continue integratie automatiseren met Azure Pipelines-versies

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Hier volgt een handleiding voor het instellen van een Azure Pipelines-release waarmee de implementatie van een data factory in meerdere omgevingen wordt geautomatiseerd.

Vereisten

  • Een Azure-abonnement dat is gekoppeld aan Azure DevOps Server (voorheen Visual Studio Team Foundation Server) of Azure-opslagplaatsen die gebruikmaken van het Azure Resource Manager-service-eindpunt.

  • Een data factory die is geconfigureerd met Git-integratie met Azure-opslagplaatsen.

  • Een Azure-sleutelkluis die de geheimen voor elke omgeving bevat.

Een Azure Pipelines-release instellen

  1. Open in Azure DevOps het project dat is geconfigureerd met uw data factory.

  2. Selecteer pijplijnen aan de linkerkant van de pagina en selecteer Vervolgens Releases.

    Pijplijnen, releases selecteren

  3. Selecteer Nieuwe pijplijn, of als u bestaande pijplijnen hebt, selecteert u Nieuw en vervolgens Nieuwe release-pijplijn.

  4. Selecteer de sjabloon Lege taak .

    Lege taak selecteren

  5. Voer in het vak Fasenaam de naam van uw omgeving in.

  6. Selecteer Artefact toevoegen en selecteer vervolgens de Git-opslagplaats die is geconfigureerd met uw ontwikkelingsdata factory. Selecteer de publicatiebranch van de opslagplaats voor de standaardbranch. Deze publicatiebranch is adf_publishstandaard. Voor de standaardversie selecteert u Nieuwste in de standaardbranch.

    Een artefact toevoegen

  7. Een Azure Resource Manager-implementatietaak toevoegen:

    1. Selecteer fasetaken weergeven in de faseweergave.

      Faseweergave

    2. Maak een nieuwe taak. Zoek naar ARM-sjabloonimplementatie en selecteer vervolgens Toevoegen.

    3. Selecteer in de implementatietaak het abonnement, de resourcegroep en de locatie voor de doelgegevensfactory. Geef indien nodig referenties op.

    4. Selecteer in de lijst Actie de optie Resourcegroep maken of bijwerken.

    5. Selecteer de knop met het beletselteken (...) naast het vak Sjabloon . Blader naar de Azure Resource Manager-sjabloon die wordt gegenereerd in uw publicatiebranch van de geconfigureerde Git-opslagplaats. Zoek het bestand ARMTemplateForFactory.json in de <map FactoryName> van de adf_publish vertakking. Zie Gekoppelde ARM-sjablonen implementeren met VSTS en Gekoppelde sjablonen gebruiken voor meer informatie over het gebruik van gekoppelde ARM-sjablonen.

    6. Selecteer ... naast het vak Sjabloonparameters om het parameterbestand te kiezen. Zoek het bestand ARMTemplateParametersForFactory.json in de >map FactoryName< van de adf_publish vertakking.

    7. Selecteer ... naast het vak Sjabloonparameters overschrijven en voer de gewenste parameterwaarden in voor de doeldata factory. Voer de naam van het geheim tussen dubbele aanhalingstekens in voor referenties die afkomstig zijn van Azure Key Vault. Als de naam van het geheim bijvoorbeeld cred1 is, voert u '$(cred1)' in voor deze waarde.

    8. Selecteer Incrementeel voor de implementatiemodus.

      Waarschuwing

      In de volledige implementatiemodus worden resources die aanwezig zijn in de resourcegroep, maar die niet zijn opgegeven in de nieuwe Resource Manager-sjabloon verwijderd. Raadpleeg de implementatiemodi van Azure Resource Manager voor meer informatie

      Implementatie van Data Factory Prod

  8. Sla de release-pijplijn op.

  9. Als u een release wilt activeren, selecteert u Release maken. Zie Azure DevOps-releasetriggers om het maken van releases te automatiseren

    Release maken selecteren

Belangrijk

In CI/CD-scenario's moet het type Integration Runtime (IR) in verschillende omgevingen hetzelfde zijn. Als u bijvoorbeeld een zelf-hostende IR in de ontwikkelomgeving hebt, moet dezelfde IR ook van het type zelf-hosten in andere omgevingen zijn, zoals testen en productie. Als u integratieruntimes in meerdere fasen deelt, moet u ook de integratieruntimes configureren als gekoppeld zelf-hostend in alle omgevingen, zoals ontwikkeling, testen en productie.

Geheimen ophalen uit Azure Key Vault

Als u geheimen hebt om een Azure Resource Manager-sjabloon door te geven, raden we u aan Azure Key Vault te gebruiken met de release van Azure Pipelines.

Er zijn twee manieren om geheimen te verwerken:

  • Voeg de geheimen toe aan het parameterbestand. Zie Azure Key Vault gebruiken om tijdens de implementatie beveiligde parameterwaarde door te geven voor meer informatie.

    Maak een kopie van het parameterbestand dat is geüpload naar de publicatiebranch. Stel de waarden in van de parameters die u wilt ophalen uit Key Vault met behulp van deze indeling:

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

    Wanneer u deze methode gebruikt, wordt het geheim automatisch opgehaald uit de sleutelkluis.

    Het parameterbestand moet zich ook in de publicatiebranch bevinden.

  • Voeg een Azure Key Vault-taak toe vóór de Azure Resource Manager-implementatietaak die in de vorige sectie wordt beschreven:

    1. Maak een nieuwe taak op het tabblad Taken . Zoek naar Azure Key Vault en voeg deze toe.

    2. Selecteer in de Key Vault-taak het abonnement waarin u de sleutelkluis hebt gemaakt. Geef indien nodig referenties op en selecteer vervolgens de sleutelkluis.

    Een Key Vault-taak toevoegen

Machtigingen verlenen aan de Azure Pipelines-agent

De Azure Key Vault-taak kan mislukken met de fout Toegang geweigerd als de juiste machtigingen niet zijn ingesteld. Download de logboeken voor de release en zoek het PS1-bestand met de opdracht om machtigingen te verlenen aan de Azure Pipelines-agent. U kunt de opdracht rechtstreeks uitvoeren. U kunt ook de principal-id uit het bestand kopiëren en het toegangsbeleid handmatig toevoegen in Azure Portal. Get en List zijn de minimale machtigingen vereist.

Actieve triggers bijwerken

Installeer de nieuwste Azure PowerShell-modules met de instructies in Azure PowerShell installeren en configureren.

Waarschuwing

Als u geen gebruik maakt van de nieuwste versies van de Module PowerShell en Data Factory, kunnen er fouten optreden bij het deserialisatiegebruik tijdens het uitvoeren van de opdrachten.

Implementatie kan mislukken als u actieve triggers probeert bij te werken. Als u actieve triggers wilt bijwerken, moet u ze handmatig stoppen en opnieuw opstarten na de implementatie. U kunt dit doen met behulp van een Azure PowerShell-taak:

  1. Voeg op het tabblad Taken van de release een Azure PowerShell-taak toe. Kies de meest recente Versie van Azure PowerShell.

  2. Selecteer het abonnement waarin uw factory zich bevindt.

  3. Selecteer Scriptbestandspad als het scripttype. Hiervoor moet u uw PowerShell-script opslaan in uw opslagplaats. Het volgende PowerShell-script kan worden gebruikt om triggers te stoppen:

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

U kunt vergelijkbare stappen (met de Start-AzDataFactoryV2Trigger functie) uitvoeren om de triggers na de implementatie opnieuw op te starten.

Het data factory-team heeft een voorbeeldscript vooraf en na de implementatie verstrekt.

Notitie

Gebruik PrePostDeploymentScript.Ver2.ps1 als u alleen de triggers wilt uitschakelen of inschakelen die zijn gewijzigd in plaats van alle triggers uit of in te schakelen tijdens CI/CD.

Waarschuwing

Zorg ervoor dat u PowerShell Core in ADO-taak gebruikt om het script uit te voeren