Hantera program för flera miljöer

Med Azure Service Fabric-kluster kan du skapa kluster med var som helst från en till många tusen datorer. I de flesta fall måste du distribuera programmet över flera klusterkonfigurationer: ditt lokala utvecklingskluster, ett delat utvecklingskluster och ditt produktionskluster. Alla dessa kluster anses vara olika miljöer som koden måste köras i. Programbinärfiler kan köras utan ändringar i det här breda spektrumet, men du vill ofta konfigurera programmet på ett annat sätt.

Överväg två enkla exempel:

  • din tjänst lyssnar på en definierad port, men du behöver den porten för att vara annorlunda i olika miljöer
  • du måste ange olika bindningsautentiseringsuppgifter för en databas i miljöerna

Ange konfiguration

Konfigurationen som du anger kan delas in i två kategorier:

  • Konfiguration som gäller för hur dina tjänster körs
    • Till exempel portnumret för en slutpunkt eller antalet instanser av en tjänst
    • Den här konfigurationen anges i program- eller tjänstmanifestfilen
  • Konfiguration som gäller för programkoden
    • Till exempel bindningsinformation för en databas
    • Den här konfigurationen kan tillhandahållas antingen via konfigurationsfiler eller miljövariabler

Kommentar

Det är inte alla attribut i program- och tjänstmanifestfilens stödparametrar. I dessa fall måste du förlita dig på att ersätta strängar som en del av ditt distributionsarbetsflöde. I Azure DevOps kan du använda ett tillägg som Ersätt token: https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens eller i Jenkins kan du köra en skriptuppgift för att ersätta värdena.

Ange parametrar när programmet skapas

När du skapar en namngiven programinstans i Service Fabric kan du skicka in parametrar. Hur du gör det beror på hur du skapar programinstansen.

  • I PowerShell tar cmdleten New-ServiceFabricApplication programparametrarna som en hashtable.
  • Med sfctl sfctl application create tar kommandot parametrar som en JSON-sträng. Skriptet install.sh använder sfctl.
  • Visual Studio tillhandahåller en uppsättning parameterfiler i mappen Parametrar i programprojektet. Dessa parameterfiler används när du publicerar från Visual Studio med hjälp av Azure DevOps Services eller Azure DevOps Server. I Visual Studio skickas parameterfilerna vidare till skriptet Deploy-FabricApplication.ps1.

Nästa steg

Följande artiklar visar hur du använder några av de begrepp som beskrivs här: