Share via


Självstudie: Distribuera ett containerprogram med CI/CD till ett Service Fabric-kluster

Den här självstudiekursen är del två i en serie. Du får lära dig hur du konfigurerar kontinuerlig integrering och distribution för ett Azure Service Fabric-containerprogram med hjälp av Visual Studio och Azure DevOps. Ett befintligt Service Fabric-program krävs. Det som skapas i Distribuera ett .NET-program i en Windows-container till Azure Service Fabric används som exempel.

I del två i serien lär du dig hur du:

  • lägga till källkontroll i projektet
  • Skapa en byggesdefinition i Visual Studio Team Explorer
  • Skapa en versionsdefinition i Visual Studio Team Explorer
  • distribuera och uppgradera ett program automatiskt.

Förutsättningar

Innan du börjar den här självstudien:

Förbered publiceringsprofil

Nu när du har distribuerat ett containerprogram är du redo att konfigurera kontinuerlig integrering. Börja med att förbereda en publiceringsprofil i programmet för användning med distributionsprocessen som körs i Azure DevOps Services. Publiceringsprofilen ska konfigureras med inriktning på det kluster som du skapade tidigare. Starta Visual Studio och öppna ett befintligt Service Fabric-programprojekt. I Solution Explorer högerklickar du på programmet och väljer Publicera.

Välj en målprofil inom programprojektet att använda för arbetsflödet för den kontinuerliga integreringen, till exempel molnet. Specificera klusteranslutningsslutpunkten. Markera kryssrutan Uppgradera programmet så att programmet uppgraderas för varje distribution i Azure DevOps. Klicka på hyperlänken Spara och spara inställningarna i profilen. Klicka sedan på Avbryt och stäng dialogrutan.

Push profile

Dela Visual Studio-lösningen till en ny Azure DevOps Git-lagringsplats

Dela programkällfilerna till ett teamprojekt i Azure DevOps så att du kan generera byggen.

Skapa en ny lokal Git-lagringsplats för projektet genom att välja Lägg till i källkontroll ->Git i statusfältet i det nedre högra hörnet i Visual Studio.

I vyn för Push-överföring i Team Explorer väljer du knappen för att publicera Git-lagringsplatsen under alternativet för att push-överföra till Azure DevOps.

Screenshot of the Team Explorer - Synchronization window in Visual Studio. Under Push to Azure DevOps, the Publish to Git Repo button is highlighted.

Verifiera din e-postadress och välj din organisation i listrutan Konto. Du kan behöva konfigurera en organisation om du inte redan har en. Skriv in lagringsplatsens namn och välj Publicera lagringsplats.

Screenshot of the Push to Azure DevOps window. The settings for Email, Account, Repository name, and the Publish Repository button are highlighted.

När du publicerar lagringsplatsen skapas ett nytt teamprojekt i kontot med samma namn som den lokala lagringsplatsen. Om du vill skapa lagringsplatsen i ett befintlig teamprojekt klickar du på Avancerat bredvid lagringsplatsens namn och väljer ett teamprojekt. Du kan visa koden på webben genom att välja alternativet för att visa på webben.

Konfigurera kontinuerlig leverans med Azure Pipelines

En byggesdefinition för Azure DevOps beskriver ett arbetsflöde som består av en uppsättning byggesåtgärder som körs sekventiellt. Skapa en byggesdefinition som producerar ett Service Fabric-programpaket och andra artefakter att distribuera till ett Service Fabric-kluster. Läs mer om byggesdefinitioner för Azure DevOps.

En versionsdefinition för Azure DevOps beskriver ett arbetsflöde som distribuerar ett programpaket till ett kluster. När de används tillsammans utför byggesdefinitionen och versionsdefinitionen hela arbetsflödet med början på källfiler för att sluta med ett program som körs i klustret. Läs mer om versionsdefinitioner för Azure DevOps.

Skapa en byggesdefinition

Öppna det nya teamprojektet genom att gå till https://dev.azure.com i en webbläsare och välja din organisation, följt av det nya projektet.

Välj alternativet Pipelines i den vänstra panelen och klicka sedan på Ny pipeline.

Kommentar

Om du inte ser mallen för build-definition ska du se till att funktionen för att skapa en ny YAML-pipeline är avstängd. Den här funktionen har konfigurerats i avsnittet Förhandsversionsfunktioner i ditt DevOps-konto.

New Pipeline

Välj Azure Repos Git som källa, teamprojektnamnet, projektets lagringsplats samt standardgrenen master eller manuella och schemalagda byggen. Klicka sedan på Fortsätt.

I Select a template (Välj en mall) väljer du mallen Azure Service Fabric application with Docker support (Azure Service Fabric-program med Docker-support) och klickar på Apply (Använd).

Choose build template

I Tasks (Uppgifter) väljer du Hosted VS2017 som Agent pool (Agentpool).

Select tasks

Klicka på Tagga avbildningar.

I Container Registry Type (Containerregistertyp) väljer du Azure Container Registry (Azure-containerregister). Välj en Azure-prenumeration och klicka sedan på Authorize (Auktorisera). Välj ett Azure-containerregister.

Select Docker Tag images

Klicka på Push images (Push-överför avbildningar).

I Container Registry Type (Containerregistertyp) väljer du Azure Container Registry (Azure-containerregister). Välj en Azure-prenumeration och klicka sedan på Authorize (Auktorisera). Välj ett Azure-containerregister.

Select Docker Push images

På fliken Utlösare aktiverar du kontinuerlig integrering genom att markera Aktivera kontinuerlig integrering. I Branch filters (Grenfilter) klickar du på + Lägg till så får Branch specification (Grenspecifikation) standardvärdet master.

I dialogrutan för att spara bygg-pipeline och kö klickar du på Save & queue (Spara och köa) för att manuellt påbörja en version.

Select triggers

Byggen utlöser också vid push och incheckning. Om du vill kontrollera byggframsteget växlar du till fliken Byggen. När du har kontrollerat att bygget har körts definierar du en versionsdefinition som distribuerar ditt program till ett kluster.

Skapa en versionsdefinition

Välj alternativet Pipelines i den vänstra panelen och välj sedan Versioner följt av + Ny pipeline. I Välj en mall väljer du mallen Azure Service Fabric Deployment på listan och sedan Använd.

Choose release template

Välj Tasks (Uppgifter), Environment 1 (Miljö 1) och sedan +New (+Ny) för att lägga till en ny klusteranslutning.

Add cluster connection

I vyn Lägg till ny Service Fabric Anslut ion väljer du Certifikatbaserad eller Microsoft Entra-ID-autentisering. Ange ett anslutningsnamn för mysftestcluster och en klusterslutpunkt för tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000 (eller slutpunkten i klustret som du distribuerar till).

Om du använder certifikatbaserad autentisering lägger du till servercertifikatets tumavtryck för det servercertifikat som används för att skapa klustret. I klientcertifikat lägger du till base-64-kodningen för klientcertifikatfilen. Det finns ett hjälppopupfönster för fältet om du behöver information om hur du hittar den base-64-kodade representationen för certifikatet. Lägg också till lösenordet för certifikatet. Du kan använda certifikatet för klustret eller servern om du inte har något separat klientcertifikat.

För Microsoft Entra-autentiseringsuppgifter lägger du till tumavtrycket servercertifikat för servercertifikatet som används för att skapa klustret och de autentiseringsuppgifter som du vill använda för att ansluta till klustret i fälten Användarnamn och Lösenord .

Klicka på Lägg till och spara klusteranslutningen.

Under Agent Phase (Agentfas) klickar du på Deploy Service Fabric Application (Distribuera Service Fabric-program). Klicka på Docker Settings (Docker-inställningar) och klicka sedan på Configure Docker settings (Konfigurera Docker-inställningar). I Registry Credentials Source (Källa för registerautentiseringsuppgifter) väljer du Azure Resource Manager Service Connection (Anslutning för Azure Resource Manager-tjänst). Välj sedan din Azure-prenumeration.

Release pipeline agent

Lägg sedan till en byggesartefakt i pipelinen så versionsdefinitionen kan hitta utdata från bygget. Välj Pipeline och artefakter->+Lägg till. I Source (Build definition) (Källa (byggesdefinition)) väljer du den byggesdefinition som du skapade tidigare. Klicka på Lägg till för att spara byggesartefakten.

Add artifact

Aktivera en kontinuerlig distributionsutlösare så att versionen automatiskt skapas när bygget har slutförts. Klicka på blixtikonen i artefakten, aktivera utlösaren och klicka på Spara för att spara versionsdefinitionen.

Enable trigger

Välj + Release ->Create a Release ->Create för att skapa en version manuellt. Du kan övervaka versionsförloppet på fliken Releases (Versioner).

Kontrollera att distributionen har slutförts och programmet körs i klustret. Öppna en webbläsare och gå till http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Observera programversionen. I det här exemplet är den 1.0.0.20170616.3.

Genomför och push-överföring av ändringar utlöser en släppning

För att kontrollera att pipelinen för den kontinuerliga integreringen fungerar genom att kontrollera kodändringar i Azure DevOps.

När du skriver koden spåras dina ändringar automatiskt av Visual Studio. Checka in ändringar på din lokala Git-lagringsplats genom att välja ikonen väntande ändringar (Pending changes icon shows a pencil and a number.) från statusfältet längst ned till höger.

I vyn Ändringar i Team Explorer lägger du till ett meddelande som beskriver uppdateringen. Spara sedan ändringarna.

Commit all

Välj statusstapelikonen för opublicerade ändringar (Unpublished changes) eller synkroniseringsvyn i Team Explorer. Välj Push (Push-överföring) för att uppdatera koden i Azure DevOps.

Push changes

När du skickar ändringar till Azure DevOps via push-överföring utlöses ett bygge automatiskt. När byggesdefinition har slutförts skapas en version automatiskt och börjar uppgradera programmet i klustret.

Om du vill kontrollera förloppet för bygget kan du byta till fliken Builds (Byggen) i Team Explorer i Visual Studio. När du har kontrollerat att bygget körs rätt kan du definiera en versionsdefinition som distribuerar programmet till ett kluster.

Kontrollera att distributionen har slutförts och programmet körs i klustret. Öppna en webbläsare och gå till http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Observera programversionen. I det här exemplet är den 1.0.0.20170815.3.

Screenshot of the Voting app in Service Fabric Explorer. In the Essentials tab, the app version

Uppdatera programmet

Göra kodändringar i programmet. Spara och genomföra ändringarna via de här stegen.

När programuppgraderingen påbörjas kan du visa uppgraderingsförloppet i Service Fabric Explorer:

Screenshot of the Voting app in Service Fabric Explorer. An

Programuppgraderingen kan ta flera minuter. När uppgraderingen har slutförts kör programmet nästa version. I det här exemplet 1.0.0.20170815.4.

Screenshot of the Voting app in Service Fabric Explorer. In the Essentials tab, the updated app version

Nästa steg

I den här självstudiekursen lärde du dig att:

  • lägga till källkontroll i projektet
  • Skapa en byggesdefinition
  • Skapa en versionsdefinition
  • distribuera och uppgradera ett program automatiskt.

I nästa del av kursen lär du dig att konfigurera övervakning för containern.