Delen via


Zelfstudie: Een containertoepassing met CI/CD implementeren in een Service Fabric-cluster

Deze zelfstudie is deel twee van een reeks en beschrijft hoe u continue integratie en implementatie instelt voor een Azure Service Fabric-containertoepassing met behulp van Visual Studio en Azure DevOps. Er is een bestaande Service Fabric-toepassing nodig. De toepassing die is gemaakt in Een .NET-toepassing implementeren in een Windows-container naar Azure Service Fabric , wordt als voorbeeld gebruikt.

In deel twee van de serie leert u het volgende:

  • Broncodebeheer toevoegen aan uw project
  • Een builddefinitie maken in Visual Studio Team Explorer
  • Een releasedefinitie maken in Visual Studio Team Explorer
  • Automatisch een toepassing implementeren en upgraden

Vereiste voorwaarden

Voor u met deze zelfstudie begint:

Een publicatieprofiel voorbereiden

Nu u een containertoepassing hebt geïmplementeerd, kunt u continue integratie instellen. Bereid eerst een publicatieprofiel in uw toepassing voor op gebruik door het implementatieproces dat wordt uitgevoerd in Azure DevOps. Het publicatieprofiel moet worden geconfigureerd voor het cluster dat u eerder hebt gemaakt. Start Visual Studio en open een bestaand Service Fabric-toepassingsproject. Klik in Solution Explorer met de rechtermuisknop op de toepassing en selecteer Publiceren....

Kies een doelprofiel in uw toepassingsproject dat u wilt gebruiken voor uw werkstroom voor continue integratie, bijvoorbeeld Cloud. Geef het eindpunt van de clusterverbinding op. Schakel het selectievakje Toepassing bijwerken in, zodat uw toepassing wordt bijgewerkt voor elke implementatie in Azure DevOps. Klik op de hyperlink Opslaan om de instellingen op te slaan in het publicatieprofiel en klik vervolgens op Annuleren om het dialoogvenster te sluiten.

Pushprofiel

Uw Visual Studio-oplossing delen met een nieuwe Azure DevOps Git-opslagplaats

Deel uw toepassingsbronbestanden met een teamproject in Azure DevOps, zodat u builds kunt genereren.

Maak een nieuwe lokale Git-opslagplaats voor uw project door Toevoegen aan broncodebeheer ->Git te selecteren op de statusbalk in de rechterbenedenhoek van Visual Studio.

Selecteer in de pushweergave in Team Explorer de knop Git-opslagplaats publiceren onder Push to Azure DevOps.

Schermopname van het venster Team Explorer - Synchronisatie in Visual Studio. Onder Pushen naar Azure DevOps is de knop Publiceren naar Git-opslagplaats gemarkeerd.

Controleer uw e-mail en selecteer uw organisatie in de vervolgkeuzelijst Account . Mogelijk moet u een organisatie instellen als u er nog geen hebt. Voer de naam van de opslagplaats in en selecteer Opslagplaats publiceren.

Schermopname van het venster Pushen naar Azure DevOps. De instellingen voor e-mail, account, naam van opslagplaats en de knop Opslagplaats publiceren zijn gemarkeerd.

Als u de opslagplaats publiceert, maakt u een nieuw teamproject in uw account met dezelfde naam als de lokale opslagplaats. Als u de opslagplaats in een bestaand teamproject wilt maken, klikt u op Geavanceerd naast de naam van de opslagplaats en selecteert u een teamproject. U kunt uw code op het web weergeven door See it on the web te selecteren.

Continue levering configureren met Azure Pipelines

Een Azure DevOps-builddefinitie beschrijft een werkstroom die bestaat uit een set buildstappen die opeenvolgend worden uitgevoerd. Maak een builddefinitie die een Service Fabric-toepassingspakket en andere artefacten produceert om te implementeren in een Service Fabric-cluster. Meer informatie over Azure DevOps-builddefinities.

Een Azure DevOps-releasedefinitie beschrijft een werkstroom waarmee een toepassingspakket in een cluster wordt geïmplementeerd. Wanneer de builddefinitie en releasedefinitie samen worden gebruikt, wordt de hele werkstroom uitgevoerd die begint met bronbestanden om te eindigen met een actieve toepassing in uw cluster. Meer informatie over Azure DevOps-releasedefinities.

Een builddefinitie maken

Open uw nieuwe teamproject door naar een webbrowser te https://dev.azure.com navigeren en uw organisatie te selecteren, gevolgd door het nieuwe project.

Selecteer de optie Pijplijnen in het linkerdeelvenster en klik vervolgens op Nieuwe pijplijn.

Opmerking

Als u de sjabloon voor de builddefinitie niet ziet, controleer dan of de functie Nieuwe ervaring voor het maken van YAML-pijplijnen is uitgeschakeld. Deze functie is geconfigureerd in de sectie Preview-functies van uw DevOps-account.

Nieuwe pijplijn

Selecteer Azure Repos Git als bron, de naam van je teamproject, je projectrepository, en de hoofdvertakking, standaardvertakking of handmatige en geplande builds. Klik vervolgens op Doorgaan.

Selecteer in Selecteer een sjabloon de Azure Service Fabric-toepassing met docker-ondersteuningssjabloon en klik op Toepassen.

Buildsjabloon kiezen

In Taken, selecteer Hosted VS2017 als Agent pool.

Taken selecteren

Klik op Afbeeldingen taggen.

Selecteer Azure Container Registry in Het type Container Registry. Selecteer een Azure-abonnement en klik vervolgens op Autoriseren. Selecteer een Azure Container Registry.

Docker Tag-installatiekopieën selecteren

Klik op Push-afbeeldingen.

In Container Registry-type selecteer Azure Container Registry. Selecteer een Azure-abonnement en klik vervolgens op Autoriseren. Selecteer een Azure Container Registry.

Docker Push-installatiekopieën selecteren

Schakel op het tabblad Triggers continue integratie in door continue integratie inschakelen te controleren. Klik in branchfilters op + Toevoegen en de specificatie van de vertakking wordt standaard ingesteld op master.

Klik in het dialoogvenster Build-pijplijn opslaan en wachtrij op Opslaan en wachtrij om handmatig een build te starten.

Triggers selecteren

Builds worden ook geactiveerd bij push of check-in. Als u de voortgang van de build wilt controleren, gaat u naar het tabblad Builds . Zodra u hebt gecontroleerd of de build is uitgevoerd, definieert u een releasedefinitie waarmee uw toepassing in een cluster wordt geïmplementeerd.

Release-definitie maken

Selecteer de optie Pijplijnen in het linkerdeelvenster, vervolgens Releases en vervolgens + Nieuwe pijplijn. Selecteer in Selecteer een sjabloon de Azure Service Fabric-implementatiesjabloon in de lijst en pas vervolgens toe.

Releasesjabloon kiezen

Selecteer Taken, omgeving 1 en vervolgens +Nieuw om een nieuwe clusterverbinding toe te voegen.

Clusterverbinding toevoegen

Selecteer in de weergave Nieuwe Service Fabric-verbinding toevoegende optie Verificatie op basis van certificaat of Microsoft Entra-id . Geef een verbindingsnaam op van 'mysftestcluster' en een clustereindpunt van 'tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000' (of het eindpunt van het cluster waarnaar u implementeert).

Voor verificatie op basis van certificaten voegt u de vingerafdruk van het servercertificaat toe dat wordt gebruikt om het cluster te maken. Voeg in het clientcertificaat de base-64-codering van het clientcertificaatbestand toe. Zie het help-pop-upvenster voor informatie over het verkrijgen van die base-64 gecodeerde weergave van het certificaat. Voeg ook het wachtwoord voor het certificaat toe. U kunt het cluster- of servercertificaat gebruiken als u geen afzonderlijk clientcertificaat hebt.

Voor Microsoft Entra-referenties voegt u de vingerafdruk van het servercertificaat toe van het servercertificaat dat wordt gebruikt om het cluster te maken en de referenties die u wilt gebruiken om verbinding te maken met het cluster in de velden Gebruikersnaam en Wachtwoord .

Klik op Toevoegen om de clusterverbinding op te slaan.

Klik onder Agentfase op Service Fabric-toepassing implementeren. Klik op Docker-instellingen en klik vervolgens op Docker-instellingen configureren. Selecteer in registerreferentiebronde azure Resource Manager-serviceverbinding. Selecteer vervolgens uw Azure-abonnement.

Releasepijplijnagent

Voeg vervolgens een build-artefact toe aan de pijplijn, zodat de releasedefinitie de uitvoer van de build kan vinden. Selecteer Pijplijn en artefacten->+Toevoegen. Selecteer in bron (builddefinitie) de builddefinitie die u eerder hebt gemaakt. Klik op Toevoegen om het build-artefact op te slaan.

Artefact toevoegen

Schakel een trigger voor continue implementatie in, zodat er automatisch een release wordt gemaakt wanneer de build is voltooid. Klik op het bliksempictogram in het artefact, schakel de trigger in en klik op Opslaan om de releasedefinitie op te slaan.

Trigger inschakelen

Selecteer + Release ->Een release maken ->Maken om handmatig een release te maken. U kunt de voortgang van de release controleren op het tabblad Releases .

Controleer of de implementatie is geslaagd en of de toepassing wordt uitgevoerd in het cluster. Open een webbrowser en navigeer naar http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Let op de versie van de toepassing. In dit voorbeeld is dit '1.0.0.20170616.3'.

Wijzigingen doorvoeren en pushen, een release starten

Controleer of de pijplijn voor continue integratie werkt door enkele codewijzigingen in Azure DevOps in te checken.

Terwijl u de code schrijft, worden de wijzigingen automatisch in Visual Studio bijgehouden. Voer wijzigingen door in uw lokale Git-opslagplaats door het pictogram wijzigingen in behandeling te selecteren (pictogram Wijzigingen in behandeling toont een potlood en een getal.) op de statusbalk in de rechterbenedenhoek.

Voeg in de weergave Wijzigingen in TeamVerkenner een bericht toe met een beschrijving van uw update en voer uw wijzigingen door.

Alles doorvoeren

Selecteer het pictogram van de niet-gepubliceerde wijzigingenstatusbalk (niet-gepubliceerde wijzigingen) of de synchronisatieweergave in Team Explorer. Selecteer Push om uw code bij te werken in Azure DevOps.

Wijzigingen pushen

Als u de wijzigingen naar Azure DevOps pusht, wordt automatisch een build geactiveerd. Wanneer de builddefinitie is voltooid, wordt er automatisch een release gemaakt en wordt de toepassing in het cluster bijgewerkt.

Als u de voortgang van de build wilt controleren, gaat u naar het tabblad Builds in Team Explorer in Visual Studio. Zodra u hebt gecontroleerd of de build is uitgevoerd, definieert u een releasedefinitie waarmee uw toepassing in een cluster wordt geïmplementeerd.

Controleer of de implementatie is geslaagd en of de toepassing wordt uitgevoerd in het cluster. Open een webbrowser en navigeer naar http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Let op de versie van de toepassing. In dit voorbeeld is dit '1.0.0.20170815.3'.

Schermopname van de stem-app in Service Fabric Explorer. Op het tabblad Essentials is de app-versie 1.0.0.20170815.3 gemarkeerd.

De toepassing bijwerken

Breng codewijzigingen aan in de toepassing. Sla de wijzigingen op en voer deze door, volgens de vorige stappen.

Zodra de upgrade van de toepassing is gestart, kunt u de voortgang van de upgrade bekijken in Service Fabric Explorer:

Schermopname van de stem-app in Service Fabric Explorer. Er is een bericht 'Upgrade wordt uitgevoerd' gemarkeerd en de app-status is 'Upgraden'.

De upgrade van de toepassing kan enkele minuten duren. Wanneer de upgrade is voltooid, wordt de volgende versie uitgevoerd. In dit voorbeeld '1.0.0.20170815.4'.

Schermopname van de stem-app in Service Fabric Explorer. Op het tabblad Essentials is de bijgewerkte app-versie 1.0.0.20170815.4 gemarkeerd.

Volgende stappen

In deze zelfstudie hebt u het volgende geleerd:

  • Broncodebeheer toevoegen aan uw project
  • Een builddefinitie maken
  • Release-definitie maken
  • Automatisch een toepassing implementeren en upgraden

In het volgende deel van de zelfstudie leert u hoe u bewaking instelt voor uw container.