Build en implementatie automatiseren voor standaardwerkstromen voor logische apps met Azure DevOps
Voor standaardwerkstromen voor logische apps die worden uitgevoerd in Azure Logic Apps met één tenant, kunt u Visual Studio Code gebruiken met de Azure Logic Apps-extensie (Standard) om uw logische app-project lokaal te ontwikkelen, te testen en op te slaan met behulp van een broncodebeheersysteem. Om echter de volledige voordelen te krijgen van het eenvoudig en consistent implementeren van uw werkstromen in verschillende omgevingen en platforms, moet u ook uw build- en implementatieproces automatiseren.
De Azure Logic Apps-extensie (Standard) biedt hulpprogramma's voor het maken en onderhouden van geautomatiseerde build- en implementatieprocessen met behulp van Azure DevOps. Voordat u deze automatisering start, moet u echter rekening houden met de volgende elementen:
De resource van de logische Azure-app waarin u uw werkstromen maakt
De door Azure gehoste verbindingen die werkstromen gebruiken en worden gemaakt op basis van door Microsoft beheerde connectors.
Deze verbindingen verschillen van de verbindingen die rechtstreeks en systeemeigen worden uitgevoerd met de Azure Logic Apps-runtime.
De specifieke instellingen en parameters voor de verschillende omgevingen waar u wilt implementeren
Met de extensie kunt u de volgende vereiste taken uitvoeren om de build en implementatie te automatiseren:
Parameteriseer verbindingsverwijzingen tijdens het ontwerp. Deze taak vereenvoudigt het proces van het bijwerken van verwijzingen in verschillende omgevingen zonder dat de functionaliteit voor lokale ontwikkeling wordt onderbroken.
Genereer scripts waarmee de implementatie voor uw standaardresource voor logische apps wordt geautomatiseerd, inclusief alle afhankelijke resources.
Scripts genereren waarmee de implementatie voor door Azure gehoste verbindingen wordt geautomatiseerd.
Bereid omgevingsspecifieke parameters voor die u tijdens het buildproces in het Azure Logic Apps-pakket kunt injecteren zonder de functionaliteit voor lokale ontwikkeling te verbreken.
Genereer pijplijnen op aanvraag met behulp van Azure DevOps ter ondersteuning van de implementatie van infrastructuur, samen met de build- en releaseprocessen.
In deze handleiding ziet u hoe u de volgende taken uitvoert:
Maak een logische app-werkruimte en -project in Visual Studio Code met de bestanden die pijplijnen maken voor de implementatie van de infrastructuur, continue integratie (CI) en continue implementatie (CD).
Maak een verbinding tussen uw werkruimte en Git-opslagplaats in Azure DevOps.
Pijplijnen maken in Azure DevOps.
Voor meer informatie raadpleegt u de volgende documentatie:
Bekende problemen en beperkingen
Deze mogelijkheid ondersteunt alleen Standard-projecten voor logische apps. Als uw Visual Studio Code-werkruimte zowel een Standard logic app-project als een aangepast functions-codeproject bevat, hebben beide implementatiescripts gegenereerd, maar aangepaste codeprojecten worden momenteel genegeerd. De mogelijkheid om build-pijplijnen voor aangepaste code te maken, staat op de roadmap.
De extensie maakt pijplijnen voor infrastructuurimplementatie, continue integratie (CI) en continue implementatie (CD). U bent echter verantwoordelijk voor het verbinden van de pijplijnen met Azure DevOps en het maken van de relevante triggers.
Momenteel ondersteunt de extensie alleen Azure Resource Management-sjablonen (ARM-sjablonen) voor infrastructuurimplementatiescripts. Andere sjablonen zijn in planning.
Vereisten
Een Azure-account en -abonnement. Als u nog geen abonnement hebt, meld u dan aan voor een gratis Azure-account.
Visual Studio Code met de Extensie Azure Logic Apps (Standard). Zie de vereisten voor Het maken van Standard-werkstromen met Visual Studio Code om aan deze vereisten te voldoen.
Build- en releasetaken voor Azure Logic Apps (Standard) voor Azure DevOps-taken. U vindt deze taken in Azure DevOps Marketplace.
Een bestaande Git-opslagplaats in Azure DevOps waar u uw logische app-project kunt opslaan.
Een Azure Resource Manager-serviceverbinding met een bestaande service-principal.
Een bestaande Azure-resourcegroep waarin u uw logische app wilt implementeren.
Een logische app-werkruimte, -project en -werkstroom maken
Selecteer in Visual Studio Code op de activiteitenbalk het Azure-pictogram.
Open in het Azure-venster op de werkbalk Werkruimte het menu Azure Logic Apps en selecteer Nieuwe werkruimte voor logische apps maken.
Volg de aanwijzingen om de volgende taken uit te voeren:
Selecteer de map om uw werkruimte te maken.
Voer de naam van uw werkruimte in.
Selecteer het projecttype: Logische app
Voer de naam van uw logische app-project in.
Selecteer de werkstroomsjabloon. Voer de naam van uw werkstroom in.
Selecteer of u uw werkruimte wilt openen in het huidige Visual Studio Code-venster of een nieuw venster.
Visual Studio Code toont uw nieuwe werkruimte- en logische app-project.
Volg deze stappen om de werkstroomontwerper te openen:
Vouw in uw logische app-project de map uit met de naam van uw werkstroom.
Als dit nog niet is geopend, opent u het workflow.json bestand, opent u het snelmenu van het bestand en selecteert u Designer openen.
Wanneer u wordt gevraagd om parameters toe te staan voor verbindingen wanneer uw project wordt geladen, selecteert u Ja.
Met deze selectie kan uw project parameters gebruiken in verbindingsdefinities, zodat u de build en implementatie voor verschillende omgevingen kunt automatiseren.
Volg de aanwijzingen om deze items te selecteren:
Connectors van Azure gebruiken
Notitie
Als u deze stap overslaat, kunt u alleen de ingebouwde connectors gebruiken die door runtime worden gehost. Voer de volgende stappen uit om de door Microsoft beheerde, door Azure gehoste connectors op een later tijdstip in te schakelen:
Open het snelmenu voor het workflow.json-bestand en selecteer Connectors gebruiken in Azure.
Selecteer een bestaande Azure-resourcegroep die u wilt gebruiken voor uw logische app.
Laad de werkstroomontwerper opnieuw.
De bestaande Azure-resourcegroep die u wilt gebruiken voor uw logische app
Wanneer u klaar bent, laadt u de werkstroomontwerper opnieuw. Meld u aan bij Azure als u hierom wordt gevraagd.
U kunt de werkstroom nu op elke gewenste manier bewerken en uw werkstroom lokaal testen. Zie Standard-werkstromen maken met Visual Studio Code om een voorbeeldwerkstroom te maken en te testen.
Implementatiescripts genereren
Nadat u uw werkstroom hebt gemaakt en lokaal hebt getest, maakt u uw implementatiescripts.
Open in het lege gebied onder al uw projectbestanden het snelmenu van uw project en selecteer Implementatiescripts genereren.
Volg de aanwijzingen om deze stappen uit te voeren:
Selecteer de bestaande Azure-resourcegroep die u wilt gebruiken voor uw logische app.
Voer een unieke naam in voor uw logische app-resource.
Voer een unieke naam in voor uw opslagaccountresource.
Voer een unieke naam in die u voor uw App Service-plan wilt gebruiken.
Selecteer de werkruimtemap waarin u de bestanden wilt genereren.
Locatie van implementatiemap Beschrijving Nieuwe implementatiemap (standaard) Maak een nieuwe map in de huidige werkruimte. Een andere map kiezen Selecteer een andere map in de huidige werkruimte.
Wanneer u klaar bent, maakt Visual Studio Code een map met de naam deployment/{logic-app-name} in de hoofdmap van uw werkruimte. In deze map wordt dezelfde logische app-naam gebruikt die u in deze stappen hebt opgegeven.
Notitie
De waarden van variabelen, app-instellingen en parameters in de volgende bestanden worden vooraf ingevuld op basis van de invoer die u in deze stappen hebt opgegeven. Wanneer u zich op een andere omgeving richt, moet u ervoor zorgen dat u de waarden voor de gemaakte parameters en variabele bestanden bijwerkt.
Onder de map {logic-app-name} hebt u de volgende structuur:
Mapnaam Bestandsnaam en beschrijving ADOPipelineScripts - CD-pipeline.yml: De pijplijn voor continue levering die de instructies bevat voor het implementeren van de code van de logische app in de resource van de logische app in Azure.
- CD-pipeline-variables.yml: een YAML-bestand dat de variabelen bevat die door het CD-pipeline.yml-bestand worden gebruikt.
- CI-pipeline.yml: de pijplijn voor continue integratie die de instructies bevat voor het bouwen en genereren van de artefacten die nodig zijn om de logische app-resource in Azure te implementeren.
- CI-pipeline-variables.yml: een YAML-bestand dat de variabelen bevat die worden gebruikt door het CI-pipeline.yml-bestand.
- infrastructure-pipeline.yml: een YAML-pijplijn 'Infrastructuur als code' die de instructies bevat voor het laden van alle ARM-sjablonen in Azure en het uitvoeren van de stappen in het infrastructure-pipeline-template.yml-bestand.
- infrastructure-pipeline-template.yml: een YAML-pijplijnbestand met de stappen voor het implementeren van een logische app-resource met alle vereiste afhankelijkheden en voor het implementeren van elke beheerde verbinding die is vereist door de broncode.
- infrastructure-pipeline-variables.yml: een YAML-pijplijn die alle variabelen bevat die nodig zijn om de stappen in het infrastructure-pipeline-template.yml-bestand uit te voeren.ArmTemplates - {connection-type}.parameters.json: een Resource Manager-parameterbestand dat de parameters bevat die nodig zijn voor het implementeren van een door Azure gehoste verbinding met de naam {connection-type} in Azure. Dit bestand bestaat voor elke door Azure gehoste verbinding in uw werkstroom.
- {connection-type}.template.json: een Resource Manager-sjabloonbestand dat een door Azure gehoste verbinding vertegenwoordigt met de naam {connection-reference} en bevat de informatie die wordt gebruikt om de bijbehorende verbindingsresource in Azure te implementeren. Dit bestand bestaat voor elke door Azure gehoste verbinding in uw werkstroom.
- {logic-app-name}.parameters.json: een Resource Manager-parameterbestand met de parameters die nodig zijn om de resource voor de logische standaard-app met de naam {logic-app-name} te implementeren in Azure, inclusief alle afhankelijkheden.
- {logic-app-name}.template.json: een Resource Manager-sjabloonbestand dat de resource van de standaard logische app vertegenwoordigt met de naam {logic-app-name} en de informatie bevat die wordt gebruikt voor het implementeren van de logische app-resource in Azure.WorkflowParameters parameters.json: Dit JSON-bestand is een kopie van het lokale parameterbestand en bevat een kopie van alle door de gebruiker gedefinieerde parameters plus de cloudversie van parameters die door de extensie zijn gemaakt om door Azure gehoste verbindingen te parameteriseren. Dit bestand wordt gebruikt om het pakket te bouwen dat in Azure wordt geïmplementeerd.
Uw werkruimte verbinden met uw Git-opslagplaats
Volg deze stappen om uw opslagplaats te initialiseren:
Selecteer in Visual Studio Code op de activiteitenbalk het pictogram Broncodebeheer .
Selecteer Opslagplaats initialiseren in het venster Broncodebeheer.
Selecteer Map kiezen in het promptmenu. Selecteer de hoofdmap van de werkruimte en selecteer vervolgens Opslagplaats initialiseren.
Selecteer Opslagplaats openen in het venster Broncodebeheer.
Selecteer in het promptmenu de opslagplaats die u zojuist hebt gemaakt.
Zie Visual Studio Code- Initialiseer een opslagplaats in een lokale map voor meer informatie.
Volg deze stappen om de URL voor uw Git-opslagplaats op te halen, zodat u een externe opslagplaats kunt toevoegen:
Open in Azure DevOps het teamproject voor uw Azure DevOps-organisatie.
Vouw in het linkermenu Opslagplaatsen uit en selecteer Bestanden.
Selecteer Klonen op de werkbalk van het deelvenster Bestanden.
Kopieer in het venster Opslagplaats klonen de HTTPS-versie van de URL van de kloon.
Zie De kloon-URL voor uw Git-opslagplaats ophalen in Azure-opslagplaatsen voor meer informatie.
Volg deze stappen om een externe opslagplaats toe te voegen voor uw Git-opslagplaats:
Plak bij de prompt de gekopieerde URL en voer een naam in voor de externe, meestal oorspronkelijke naam.
U hebt nu een verbinding gemaakt tussen Visual Studio Code en uw opslagplaats.
Voordat u de pijplijnen in de volgende sectie instelt, opent u het CD-pipeline.yml-bestand en wijzigt u de naam van de CI-pijplijn in het kenmerk zodat deze
source
overeenkomt met de naam van de CI-pijplijn die u wilt gebruiken.Voer uw wijzigingen door in het venster Broncodebeheer en publiceer ze naar de opslagplaats.
Zie Fase- en doorvoercodewijzigingen voor meer informatie.
Pijplijnen maken in Azure DevOps
Als u de infrastructuur samen met de CI- en CD-pijplijnen in Azure DevOps wilt maken, herhaalt u de volgende stappen voor elk van de volgende pijplijnbestanden:
- infrastructure-pipeline.yml voor de pijplijn Infrastructure-as-Code.
- CI-pipeline.yml voor de pijplijn voor continue integratie.
- CD-pipeline.yml voor de pijplijn continue levering.
Een pijplijn instellen
Ga in Azure DevOps terug naar uw teamproject en naar het deelvenster Opslagplaatsbestanden>.
Selecteer Build instellen in het deelvenster Bestanden.
Bevestig in het deelvenster Inventaris uw pijplijn de gegevens van de opslagplaats en selecteer Pijplijn configureren.
Selecteer in het deelvenster Uw pijplijn configureren het YAML-bestand bestaande Azure Pipelines.
Voer in het deelvenster Een bestaand YAML-bestand selecteren de volgende stappen uit om uw Infrastructure-pipeline.yml-bestand te selecteren:
Selecteer voor Branch de vertakking waarin u uw wijzigingen hebt doorgevoerd, bijvoorbeeld hoofd- of releasebranch.
Selecteer voor Pad het pad dat u voor uw pijplijn wilt gebruiken. Het volgende pad is de standaardwaarde:
deployment/{logic-app-name}/ADOPipelineScripts/{infrastructure-pipeline-name}.yml
Wanneer u klaar bent, selecteert u Doorgaan.
Selecteer Pijplijn controleren in het deelvenster Uw pijplijn configureren.
Geef in het deelvenster Uw beheerde pijplijn controleren de volgende informatie op:
- Pijplijnnaam: Voer een naam in voor de pijplijn.
- Pijplijnmap: Selecteer de map voor de locatie waar u uw pijplijn wilt opslaan, die de naam ./deployment/{logic-app-name}/pipelines heeft.
Selecteer Opslaan als u klaar bent.
Pijplijn weergeven en uitvoeren
Voer de volgende stappen uit om uw pijplijn te zoeken en uit te voeren:
Vouw pijplijnen uit in het linkermenu van uw teamproject en selecteer Pijplijnen.
Selecteer het tabblad Alles om alle beschikbare pijplijnen weer te geven. Zoek en selecteer uw pijplijn.
Selecteer Pijplijn uitvoeren op de werkbalk van uw pijplijn.
Zie Uw eerste pijplijn maken voor meer informatie.