2016-05-16 5 views
3

Visual Studio Team Services(Visual Studio Online)では、それぞれAzure Webサイト展開の3つのリリース環境があります。各リリース環境用のAzure Web配置のためのweb.configの変換

Web.Uat.configを取得する "BuildConfiguration"変数(例:Uat)を指定することで、ビルドステップのweb.configを変換できます。

しかし、私はこのビルド構成を使用する複数のリリース環境を持っており、すべてがWeb設定(Dev、Test、Uat、Liveなど)を変換する必要があります。

Azure Webサイトの展開手順の前に、各リリース環境で使用するWeb設定トランスフォームを指定することはできますか。

注:WebサイトのAzure Portalで「すべての設定」の簡単な設定と接続文字列を指定できることを認識していますが、これらの単純な設定を変換するだけでなく、環境内の環境

答えて

5

Release Management Utility Tasksの一部として提供されるtokenizerタスクは、環境に応じて設定ファイルを変換することができます。

すべての環境のすべての設定を含む単一のJSON設定ファイルを使用することができ、環境に応じてタスクは自動的に適切な設定を選択します。このよう

{ 
    "<environment>": { 
    "CustomVariables": { 
    "Variable1": "value1", 
    "Variable2": "value2", 
    }, 
    "ConfigChanges": [ 
     { 
      "KeyName": "/configuration/appSettings/add[@key='ServiceURL']", 
      "Attribute":"value", 
      "Value":"https://ServiceURL" 
     }, 
     { 
      "KeyName": "/configuration/appSettings/add[@key='EnableDebugging']", 
      "Attribute":"value", 
      "Value":"false" 
     }, 
     { 
      "KeyName":“/configuration/connectionStrings/add[@name='databaseentities']”, 
      "Attribute": "connectionString", 
      "value": "Integrated Security=True;Persist Security Info=False;Initial Catalog=DB;Data Source=servername" 
     } 
    ] 
} 

あなたは、単一のJSONファイルで多くの環境とその設定を持つことができますし、トークナイザタスクは展開が起こってされている環境に応じて、あなたの設定を変更します。

上記のリンクの詳細を読んで詳細を確認してください。

1

Web.configはビルドプロセス中に変換されます。「ビルド」からデプロイメントパッケージを生成して「リリース」にデプロイすると、デプロイメント前に変換することはできません。

Web Deploy Parameterizationを使用すると、展開前にweb.configの値を更新できます。あなたの参照のためのより多くの情報:Web Deploy Parameterization vs Web.config Transform

また、展開前にReplace Tokensタスクを使用してweb.configファイルの値を置き換えることもできます。

+0

置換トークンは、検索して置換することができますか? – alltej

関連する問題