Delen via


DevTest Labs in Azure Pipelines gebruiken om pijplijnen te ontwikkelen en uit te brengen

Dit artikel bevat informatie over hoe DevTest Labs kan worden gebruikt in Azure Pipelines-build- en release-pijplijnen.

Algemene stroom

De basisstroom bestaat uit een build-pijplijn die de volgende taken uitvoert:

  1. Bouw de toepassingscode.
  2. Maak de basisomgeving in DevTest Labs.
  3. Werk de omgeving bij met aangepaste informatie.
  4. De toepassing implementeren in de DevTest Labs-omgeving
  5. Test de code.

Zodra de build is voltooid, gebruikt de release-pijplijn de buildartefacten om fasering of productie te implementeren.

Een van de noodzakelijke uitgangspunten is dat alle informatie die nodig is om het geteste ecosysteem opnieuw te maken, beschikbaar is in de buildartefacten, inclusief de configuratie van de Azure-resources. Omdat Azure-resources kosten met zich meebrengt wanneer ze worden gebruikt, willen bedrijven het gebruik van deze resources beheren of bijhouden. In sommige situaties kunnen Azure Resource Manager-sjablonen die worden gebruikt voor het maken en configureren van de resources, worden beheerd door een andere afdeling, zoals IT. En deze sjablonen kunnen worden opgeslagen in een andere opslagplaats. Dit leidt tot een interessante situatie bij het maken en testen van een build. Zowel de code als de configuratie moeten worden opgeslagen in de buildartefacten om het systeem opnieuw te maken in productie.

Met Behulp van DevTest Labs tijdens de build- en testfase kunt u Azure Resource Manager-sjablonen en ondersteunende bestanden toevoegen aan de build-bronnen. Tijdens de releasefase implementeert u de exacte configuratie die u tijdens de test hebt gebruikt voor productie. Met de taak Azure DevTest Labs omgeving maken met de juiste configuratie worden de Resource Manager sjablonen in de buildartefacten opgeslagen. Voor dit voorbeeld gebruikt u de code uit de Zelfstudie: Een .NET Core- en SQL Database-web-app bouwen in Azure App Service, om de web-app in Azure te implementeren en te testen.

Diagram met de algemene stroom.

Azure-resources instellen

U moet van tevoren een aantal items maken:

  • Twee opslagplaatsen. De eerste met de code uit de zelfstudie en een Resource Manager sjabloon met nog twee vm's. De tweede bevat de basissjabloon Azure Resource Manager (bestaande configuratie).
  • Een resourcegroep voor de implementatie van de productiecode en configuratie.
  • Een lab met een verbinding met de configuratieopslagplaats voor de build-pijplijn. Controleer in de Resource Manager sjabloon naar de configuratieopslagplaats als azuredeploy.json met metadata.json. Met deze naam kan DevTest Labs de sjabloon herkennen en implementeren.

De build-pijplijn maakt een DevTest Labs-omgeving en implementeert de code voor het testen.

Een build-pijplijn instellen

Maak in Azure Pipelines een build-pijplijn met behulp van de code uit de Zelfstudie: Een .NET Core en SQL Database web-app bouwen in Azure App Service. Gebruik de sjabloon ASP.NET Core, waarmee de benodigde taak voor het bouwen, testen en publiceren van de code wordt ingevuld.

Schermopname van het selecteren van de sjabloon ASP.NET.

Voeg nog drie taken toe om de omgeving in DevTest Labs te maken en te implementeren in de omgeving.

Schermopname van een pijplijn met drie taken.

Omgevingstaak maken

In de Azure DevTest Labs taak Omgeving maken gebruikt u de vervolgkeuzelijsten om de volgende waarden te selecteren:

  • Azure-abonnement
  • Naam van het lab
  • Naam van de opslagplaats
  • Naam van de sjabloon (die de map weergeeft waarin de omgeving is opgeslagen).

U wordt aangeraden vervolgkeuzelijsten op de pagina te gebruiken in plaats van de gegevens handmatig in te voeren. Als u de gegevens handmatig invoert, voert u volledig gekwalificeerde Azure-resource-id's in. In de taak worden de beschrijvende namen weergegeven in plaats van resource-id's.

De omgevingsnaam is de weergegeven naam die wordt weergegeven in DevTest Labs. Dit moet een unieke naam zijn voor elke build. Bijvoorbeeld: TestEnv$(Build.BuildId).

U kunt het parameterbestand of parameters opgeven om informatie door te geven aan de sjabloon Resource Manager.

Selecteer de optie Uitvoervariabelen maken op basis van de uitvoer van de omgevingssjabloon en voer een verwijzingsnaam in. Voer voor dit voorbeeld BaseEnv in als de verwijzingsnaam. U gebruikt deze BaseEnv bij het configureren van de volgende taak.

Schermopname van de taak Azure DevTest Labs omgeving maken.

Omgevingstaak invullen

De tweede taak (Azure DevTest Labs taak Omgeving vullen) bestaat uit het bijwerken van de bestaande DevTest Labs-omgeving. De taak Omgeving maken voert BaseEnv.environmentResourceId uit die wordt gebruikt om de omgevingsnaam voor deze taak te configureren. De Resource Manager sjabloon voor dit voorbeeld heeft twee parameters: adminUserName en adminPassword.

Schermopname van de taak Azure DevTest Labs Omgeving vullen.

App Service taak implementeren

De derde taak is de Azure App Service De taak Implementeren. Het app-type is ingesteld op Web-app en de App Service naam is ingesteld op $(WebSite).

Schermopname van de App Service De taak Implementeren.

Release-pijplijn instellen

U maakt een release-pijplijn met twee taken: Azure-implementatie: Resourcegroep maken of bijwerken en Azure App Service implementeren.

Geef voor de eerste taak de naam en locatie van de resourcegroep op. De sjabloonlocatie is een gekoppeld artefact. Als de Resource Manager sjabloon gekoppelde sjablonen bevat, moet u een aangepaste resourcegroepimplementatie implementeren. De sjabloon bevindt zich in het gepubliceerde drop-artefact. Sjabloonparameters voor de Resource Manager sjabloon overschrijven. U kunt de overige instellingen met standaardwaarden laten staan.

Voor de tweede taak Azure App Service implementeren geeft u het Azure-abonnement op, selecteert u Web-app als app-type en $(WebSite) als de naam van de App Service. U kunt de overige instellingen met standaardwaarden laten staan.

Testuitvoering

Nu beide pijplijnen zijn ingesteld, kunt u een build handmatig in de wachtrij plaatsen en zien hoe deze werkt. De volgende stap is het instellen van de juiste trigger voor de build en het verbinden van de build met de release-pijplijn.

Volgende stappen

Zie de volgende artikelen: