複数の環境向けのアプリケーションの管理Manage applications for multiple environments

Azure Service Fabric クラスターは、1 台から数千台のコンピューターを使って作成することができます。Azure Service Fabric clusters enable you to create clusters using anywhere from one to many thousands machines. ほとんどの場合、ローカル開発クラスター、共有開発クラスター、運用クラスターなど、複数のクラスター構成にアプリケーションを展開する必要があります。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. これらのクラスターはすべて、その中でコードを実行する必要がある異なる環境と見なされます。All of these clusters are considered different environments your code has to run in. アプリケーション バイナリは変更しなくてもこのようなさまざまな環境で実行できますが、通常は、アプリケーションの構成は変える必要があります。Application binaries can run without modification across this wide spectrum, but you often want to configure the application differently.

2 つの簡単な例を次に示します。Consider two simple examples:

  • サービスは定義されたポートでリッスンしますが、環境によってそのポートを変える必要がありますyour service listens on a defined port, but you need that port to be different across the environments
  • 環境ごとにデータベースに対して異なるバインド資格情報を指定する必要がありますyou need to provide different binding credentials for a database across the environments

構成の指定Specifying configuration

指定する構成は、2 つのカテゴリに分類できます。The configuration you provide can be divided in two categories:

  • サービスの実行方法に適用される構成Configuration that applies to how your services are run
    • たとえば、エンドポイントのポート番号や、サービスのインスタンスの数などFor example, the port number for an endpoint or the number of instances of a service
    • この構成は、アプリケーションまたはサービスのマニフェスト ファイルで指定しますThis configuration is specified in the application or service manifest file
  • アプリケーションのコードに適用される構成Configuration that applies to your application code
    • たとえば、データベースのバインド情報For example, binding information for a database
    • この構成は、構成ファイルまたは環境変数で指定できますThis configuration can be provided either through configuration files or environment variables

注意

アプリケーションおよびサービスのマニフェスト ファイルの属性の中には、パラメーターをサポートしていないものがあります。Not all attributes in the application and service manifest file support parameters. そのような場合は、展開ワークフローの一部として置換文字列に依存する必要があります。In those cases, you have to rely on substituting strings as part of your deployment workflow. Visual Studio Team Services では、置換トークン (https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens) のような拡張機能を使用することができます。また、Jenkins では、スクリプト タスクを実行して値を置き換えることができます。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.

アプリケーション作成時のパラメーターの指定Specifying parameters during application creation

Service Fabric で名前付きアプリケーション インスタンスを作成するときは、パラメーターで渡すことができます。When creating a named application instances in Service Fabric, you have the option to pass in parameters. その方法は、アプリケーション インスタンスの作成方法によって異なります。The way you do it depends on how you create the application instance.

  • PowerShell では、New-ServiceFabricApplication コマンドレットはハッシュテーブルとしてアプリケーション パラメーターを受け取ります。In PowerShell, the New-ServiceFabricApplication cmdlet takes the application parameters as a hashtable.
  • sfctl では、sfctl application create コマンドは JSON 文字列としてパラメーターを受け取ります。Using sfctl, The sfctl application create command takes parameters as a JSON string. install.sh スクリプトは sfctl を使います。The install.sh script uses sfctl.
  • Visual Studio では、アプリケーション プロジェクトの Parameters フォルダーにパラメーター ファイルのセットが用意されています。Visual Studio provides you with a set of parameter files in the Parameters folder in the application project. これらのパラメーター ファイルは、Visual Studio Team Service または Team Foundation Server を使って、Visual Studio から発行するときに使われます。These parameter files are used when publishing from Visual Studio, using Visual Studio Team Service or Team Foundation Server. Visual Studio では、パラメーター ファイルは Deploy-FabricApplication.ps1 スクリプトに渡されます。In Visual Studio, the parameter files are being passed on to the Deploy-FabricApplication.ps1 script.

次の手順Next steps

以下の記事では、ここで説明したいくつかの概念の使い方が説明されています。The following articles show you how to use some of the concepts described here: