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
Open in Azure DevOps het project dat is geconfigureerd met uw data factory.
Selecteer pijplijnen aan de linkerkant van de pagina en selecteer Vervolgens Releases.
Selecteer Nieuwe pijplijn, of als u bestaande pijplijnen hebt, selecteert u Nieuw en vervolgens Nieuwe release-pijplijn.
Selecteer de sjabloon Lege taak .
Voer in het vak Fasenaam de naam van uw omgeving in.
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_publish
standaard. Voor de standaardversie selecteert u Nieuwste in de standaardbranch.Een Azure Resource Manager-implementatietaak toevoegen:
Selecteer fasetaken weergeven in de faseweergave.
Maak een nieuwe taak. Zoek naar ARM-sjabloonimplementatie en selecteer vervolgens Toevoegen.
Selecteer in de implementatietaak het abonnement, de resourcegroep en de locatie voor de doelgegevensfactory. Geef indien nodig referenties op.
Selecteer in de lijst Actie de optie Resourcegroep maken of bijwerken.
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.Selecteer ... naast het vak Sjabloonparameters om het parameterbestand te kiezen. Zoek het bestand
ARMTemplateParametersForFactory.json
in de >map FactoryName< van de adf_publish vertakking.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.
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
Sla de release-pijplijn op.
Als u een release wilt activeren, selecteert u Release maken. Zie Azure DevOps-releasetriggers om het maken van releases te automatiseren
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:
Maak een nieuwe taak op het tabblad Taken . Zoek naar Azure Key Vault en voeg deze toe.
Selecteer in de Key Vault-taak het abonnement waarin u de sleutelkluis hebt gemaakt. Geef indien nodig referenties op en selecteer vervolgens de sleutelkluis.
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:
Voeg op het tabblad Taken van de release een Azure PowerShell-taak toe. Kies de meest recente Versie van Azure PowerShell.
Selecteer het abonnement waarin uw factory zich bevindt.
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