2017-09-25 6 views
0

リリース時に設定トークンを置き換えるためのウォークスルーを探しています。私はタスク/拡張機能をそこに置き換えるトークンのいくつかを試しましたが、そのうちのどれかを動作させることはできません。私はVSTSを初めて使っているので、ある程度の専門知識を期待しているか、ステップx & yの間で何かをすることだけを知っているかもしれません。 (非トークン化のweb.configを維持したいと思い、私はVSTS - web.config.tokenを置き換えるベストプラクティス

IIS Webアプリケーションのデプロイ(アウトオブボックス) のみ特定のセクションのために働く試した、と私は、実際のweb.configファイルをトークン化する必要があります)ローカルデバッグのための

Azureのアプリケーションサービスの展開(アウトオブボックス)

トークン化総ALMによって

土気を交換してくださいコリンのALMコーナー

によってnsがギヨームRouchon

、最後の3だけでは動作しませんでトークンを交換してください。誰でもこれらの経験があるか、ウォークスルーを知っていますか?

+0

更新 - ソリューションにすべての環境固有の設定ファイルを含めた後、別の「ビルド成果物を公開」タスクを作成してサーバーにコピーしました。 PowerShellリリースタスクを追加して、環境固有のファイルを実際のファイルにコピーしました。 "web.config.pre-production"がweb.configにコピーされました。 – Mike

答えて

0

あなたのリリース定義の変数セクションからの値を注入することによる最後の3つの作業は、率直に言って、私は期間が好きではありません - アプリケーション構成をコード(パスワードを除く)ソース管理された構成ファイル。次に、アプリケーションの展開スクリプトの一部として、PowerShellを使用してトークンを置き換えます。

トークンの置換を実行するために書いた、よく使う機能です。 PowerShellモジュールに入れてもうまく動作しますが、スタンドアロンの機能としてはうまくいきます。展開スクリプトで

function Invoke-ReplaceTokens { 
param(
[string]$FileSpec, 
[string]$FilePath, 
[HashTable]$Values) 

    try { 
     $files = gci -Path $FilePath -Filter $FileSpec -Recurse 
     Write-Output "Found files:" 

     Write-Output ($files | select-object -expandproperty FullName) 
     $files | % { 
      $contents = Get-Content $_.FullName -Raw 
      $changedContents = $false 
      foreach ($key in $Values.Keys) { 
       if ($contents.Contains($key)) { 
        Write-Output "$($_.FullName) contains `"$key`". Replacing it with `"$($Values[$key])`"" 
        $contents = $contents.Replace($key, $Values[$key]) 
        $changedContents = $true 
       } 
      } 
      if ($changedContents) { 
       set-content -Path $_.FullName -Value $contents 
      } 
     } 
    } 
    catch { 
     Write-Output $_ 
     throw $_ 
    } 
} 

使用法:

Invoke-ReplaceTokens -FileSpec '*.config' -FilePath 'C:\Location\Of\My\Config\File' -Values @{ '__Token__' = 'ActualValue' } 

また、あなたがそれを尋ねたとして、質問は(オフサイトリソースの勧告はオフトピックです)スタックオーバーフローのためにオフトピックですので、私は答えました最初の質問の自然な進化:「展開中に設定ファイルを管理するための良い方法は何ですか?」

関連する問題