Gestire le applicazioni per più ambientiManage applications for multiple environments

Azure Service Fabric consente di creare cluster usando un numero variabile di computer, da uno solo fino a molte migliaia.Azure Service Fabric clusters enable you to create clusters using anywhere from one to many thousands machines. Nella maggior parte dei casi risulta necessario distribuire l'applicazione in più configurazioni cluster, ad esempio cluster di sviluppo locale, di sviluppo condiviso e di produzione.In most cases, you find yourself having to deploy your application across multiple cluster configurations: your local development cluster, a shared development cluster and your production cluster. Tutti questi cluster vengono considerati ambienti diversi in cui deve essere eseguito il codice.All of these clusters are considered different environments your code has to run in. I file binari dell'applicazione possono essere eseguiti senza modifiche nei diversi ambienti, ma è spesso consigliabile definire diverse configurazioni per l'applicazione.Application binaries can run without modification across this wide spectrum, but you often want to configure the application differently.

Si prendano in considerazione due semplici esempi:Consider two simple examples:

  • Il servizio è in ascolto su una porta definita, ma il numero di porta deve essere diverso per i vari ambientiyour service listens on a defined port, but you need that port to be different across the environments
  • È necessario fornire credenziali di binding diverse per un database nei vari ambientiyou need to provide different binding credentials for a database across the environments

Definizione della configurazioneSpecifying configuration

È possibile definire due diversi tipi di configurazione:The configuration you provide can be divided in two categories:

  • Configurazione applicabile alla modalità di esecuzione dei serviziConfiguration that applies to how your services are run
    • Ad esempio, il numero di porta per un endpoint o il numero di istanze di un servizioFor example, the port number for an endpoint or the number of instances of a service
    • Questa configurazione è specificata nel file manifesto dell'applicazione o del servizioThis configuration is specified in the application or service manifest file
  • Configurazione applicabile al codice dell'applicazioneConfiguration that applies to your application code
    • Ad esempio, le informazioni di binding per un databaseFor example, binding information for a database
    • Questa configurazione può essere specificata tramite file di configurazione o variabili di ambienteThis configuration can be provided either through configuration files or environment variables

Nota

Non tutti gli attributi nei file manifesto dell'applicazione e del servizio supportano parametri.Not all attributes in the application and service manifest file support parameters. In questi casi, è necessario ricorrere alla sostituzione di stringhe come parte del flusso di lavoro di distribuzione.In those cases, you have to rely on substituting strings as part of your deployment workflow. In Visual Studio Team Services è possibile usare un'estensione come Replace Token: https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens oppure in Jenkins è possibile eseguire un'attività script per sostituire i valori.In Visual Studio Team Services you can use an extension like Replace Tokens: https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens or in Jenkins you could run a script task to replace the values.

Definizione dei parametri durante la creazione dell'applicazioneSpecifying parameters during application creation

Quando si creano istanze di un'applicazione denominata in Service Fabric, si ha la possibilità di passare parametri.When creating a named application instances in Service Fabric, you have the option to pass in parameters. La modalità di esecuzione di questa operazione dipende da come si crea l'istanza dell'applicazione.The way you do it depends on how you create the application instance.

  • In PowerShell il cmdlet New-ServiceFabricApplication accetta i parametri delle applicazioni come tabella hash.In PowerShell, the New-ServiceFabricApplication cmdlet takes the application parameters as a hashtable.
  • Se si usa sfctl, il comando sfctl application create accetta i parametri come stringa JSON.Using sfctl, The sfctl application create command takes parameters as a JSON string. Lo script install.sh usa sfctl.The install.sh script uses sfctl.
  • In Visual Studio, nella cartella Parametri del progetto dell'applicazione, è disponibile un set di file di parametriVisual Studio provides you with a set of parameter files in the Parameters folder in the application project. che vengono usati per la pubblicazione da Visual Studio, tramite Visual Studio Team Services o Team Foundation Server.These parameter files are used when publishing from Visual Studio, using Visual Studio Team Service or Team Foundation Server. In Visual Studio i file di parametri vengono passati allo script Deploy-FabricApplication.ps1.In Visual Studio, the parameter files are being passed on to the Deploy-FabricApplication.ps1 script.

Passaggi successiviNext steps

Gli articoli seguenti illustrano come applicare alcuni dei concetti descritti in questo articolo:The following articles show you how to use some of the concepts described here: