Självstudie: Distribuera ett program med CI/CD till ett Service Fabric-kluster
Den här självstudien är del fyra i en serie. Du får du lära dig hur du ställer in kontinuerlig integrering och distribution för ett Azure Service Fabric-program med hjälp av Azure Pipelines. En befintlig Service Fabric-tillämpning krävs. Den som skapas i Bygga ett .NET-program används som exempel.
I den tredje delen i serien får du lära dig att:
- lägga till källkontroll i projektet
- Skapa en bygg-pipeline i Azure Pipelines
- Skapa en versionspipeline i Azure Pipelines
- distribuera och uppgradera ett program automatiskt.
I de här självstudierna lär du dig att:
- Skapa ett .NET Service Fabric-program
- Distribuera programmet till ett fjärrkluster
- Lägga till en HTTPS-slutpunkt i en klienttjänst i ASP.NET Core
- Konfigurera CI/CD med hjälp av Azure Pipelines
- konfigurera övervakning och diagnostik för programmet
Förutsättningar
Innan du börjar den här självstudien:
- Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto
- Installera Visual Studio 2019 och installera arbetsbelastningar för Azure-utveckling och ASP.NET och webbutveckling .
- Installera Service Fabric SDK
- Skapa ett Windows Service Fabric-kluster i Azure, till exempel genom att följa den här självstudiekursen
- Skapa en Azure DevOps-organisation. Med en organisation kan du skapa ett projekt i Azure DevOps och använda Azure Pipelines.
Ladda ned exempelprogrammet Röstning
Om du inte har byggt exempelprogrammet Röstning i del ett av den här serien kan du ladda ned det. Kör följande kommando i ett kommandofönster för att klona databasen för exempelappen till den lokala datorn.
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Förbered publiceringsprofil
Nu när du har skapat ett program och distribuerat programmet till Azure ä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 Pipelines. Publiceringsprofilen ska konfigureras för att rikta in sig på klustret 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. Välj Spara hyperlänk för att spara inställningarna i publiceringsprofilen och välj sedan Avbryt för att stänga dialogrutan.
Dela Visual Studio-lösningen till en ny Azure DevOps Git-lagringsplats
Dela programkällfilerna till ett projekt i Azure DevOps så att du kan generera byggen.
Skapa en ny GitHub-lagringsplats och Azure DevOps-lagringsplats från Visual Studio 2022 IDE genom att välja Git –> Skapa Git-lagringsplats från Git-menyn
Välj ditt konto i listrutan och ange lagringsplatsens namn och välj knappen Skapa och tryck .
När du publicerar lagringsplatsen skapas ett nytt projekt i ditt Azure DevOps Services-konto med samma namn som den lokala lagringsplatsen.
Visa den nyligen skapade lagringsplatsen genom att navigera till https://dev.azure.com/\<organisationsnamnet>, hovra muspekaren över namnet på projektet och välj ikonen Lagringsplatser .
Konfigurera kontinuerlig leverans med Azure Pipelines
En Azure Pipelines-byggpipeline beskriver ett arbetsflöde som består av en uppsättning byggsteg som körs sekventiellt. Skapa en bygg-pipeline som producerar ett Service Fabric-programpaket och andra artefakter att distribuera till ett Service Fabric-kluster. Läs mer om Azure Pipelines bygg-pipelines.
En versionspipeline för Azure Pipelines beskriver ett arbetsflöde som distribuerar ett programpaket till ett kluster. När de används tillsammans kör bygg-pipelinen och versionspipelinen hela arbetsflödet med början på källfiler och slutar med ett program som körs i klustret. Läs mer om Azure Pipelines versionspipelines.
Skapa en bygg-pipeline
Öppna en webbläsare och navigera till ditt nya projekt på: https://dev.azure.com/\<organisationsnamn>/VotingSample
Välj fliken Pipelines och välj Skapa pipeline.
Välj Använda den klassiska redigeraren för att skapa en pipeline utan YAML.
Välj Azure Repos Git som källa, VotingSample Team-projekt, VotingApplication-lagringsplats och huvudgrenen Standard för manuella och schemalagda versioner. Välj sedan Fortsätt.
I Välj en mall väljer du Azure Service Fabric-programmallen och väljer Tillämpa.
I Uppgifter anger du "Azure Pipelines" som agentpool och windows-2022 som agentspecifikation.
Under Utlösare aktiverar du kontinuerlig integrering genom att markera Aktivera kontinuerlig integrering. I Branch filters (Grenfilter) får Branch specification (Grenspecifikation) standardvärdet master. Välj alternativet för att spara och köa för att manuellt starta en version.
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 versionspipeline som distribuerar ditt program till ett kluster.
Skapa en versionspipeline
Välj fliken Pipelines och sedan Versioner och +Ny pipeline. I Välj en mall väljer du mallen Azure Service Fabric Deployment på listan och sedan Använd.
Välj Uppgifter och sedan +Nytt för att lägga till en ny klusteranslutning.
I vyn New Service Fabric Anslut ion väljer du Certifikatbaserad autentisering eller autentisering med Microsoft Entra-autentiseringsuppgifter. Ange klusterslutpunkten för tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000" (eller slutpunkten för klustret som du distribuerar till).
För certifikatbaserad autentisering lägger du till tumavtrycket för servercertifikatet för servercertifikatet 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 .
Välj Spara.
Lägg sedan till en byggartefakt i pipelinen så versionspipelinen 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 bygg-pipeline som du skapade tidigare. Välj Lägg till för att spara byggartefakten.
Aktivera en kontinuerlig distributionsutlösare så att versionen automatiskt skapas när bygget har slutförts. Välj blixtikonen i artefakten, aktivera utlösaren och välj Spara för att spara versionspipelinen.
Välj Skapa version –> Skapa för att skapa en version manuellt. Du kan övervaka versionsförloppet på fliken Releases (Versioner).
Kontrollera att distributionen lyckades och att programmet körs i klustret. Öppna en webbläsare och gå till https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Observera programversionen. I det här exemplet är 1.0.0.20170616.3
det .
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 håller Visual Studio reda på filändringarna i projektet i avsnittet Ändringar i fönstret Git-ändringar.
I vyn Ändringar lägger du till ett meddelande som beskriver uppdateringen och genomför ändringarna.
I fönstret Git-ändringar väljer du Knappen Push (uppåtpilen) för att uppdatera koden i Azure Pipelines.
När du skickar ändringar till Azure Pipelines via push-överföring utlöses ett bygge automatiskt. Om du vill kontrollera byggframsteget växlar du till fliken Pipelines i https://dev.azure.com/organizationname/VotingSample.
När bygget är klart skapas en version automatiskt och börjar uppgradera programmet i klustret.
Kontrollera att distributionen lyckades och att programmet körs i klustret. Öppna en webbläsare och gå till https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/
. Observera programversionen. I det här exemplet är 1.0.0.20170815.3
det .
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:
Programuppgradningen 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
.
Nästa steg
I den här självstudiekursen lärde du dig att:
- lägga till källkontroll i projektet
- Skapa en bygg-pipeline
- Skapa en versionspipeline
- distribuera och uppgradera ett program automatiskt.
Gå vidare till nästa kurs: