2017-08-01 4 views
0

IISでホストされているWebアプリケーション(javascript、HTML、およびCSSファイルで動作)用のparameters.xmlファイルがあります。 Continues Deploymentシーケンスを作成するために、公開プロファイルの作成、トークンによるトークン化、TFS(On-Prem)によるビルドとリリース、トークン化、およびWebアプリケーションの公開についてお読みいただきました。 問題は、クライアントサイトアプリケーションにjavascript設定ファイルがあることです。 Iv'eが既に作成したパイプラインでトークンを編集できるようにしたい。あなたが見ることができるように、私は "debugOption = true" の文字列に一致していparametersEntry in parameters.xml

<parameters> 
    <parameter name="DebugOption" 
    description="Some debug option." 
    defaultValue="false"> 
    <parameterEntry 
    kind="TextFile" 
    scope="config.js" 
    match="debugOption = true" /> 
    </parameter> 
</parameters> 

次のように

マイパラメータXMLがあります。 私が達成したいのは、からまで偽に変更するだけですが、TFSのtokenizerタスクでは、$(DebugOption)をfalseに設定すると、すべての文字列をfalseからtoに置き換えます具体的には、 "debugOption = true"を "false"に置き換えます。これは私が望む最終結果ではありません。

この種類の文字列にマッチする方法はありますか(javascripファイル内のすべての「真の」発生を置き換えるため真としか一致しません)、値を変更せずに、 debugOption = false " - 偽のみ?

+0

どのトークナイザタスクを使用していますか?関連するタスク設定のスクリーンショットを共有できますか? –

答えて

0

更新これは達成できませんでした。 debugMode=truedebugMode=falseに置き換えるにはfalseを指定してください。マッチャーはどの部分を交換する必要があるか分からない。


あなたは周りを取得、文字列全体ではなく、各トークン化文字列を一致させるにはRelease Management Utility tasks

This task finds the pattern __<pattern>__ and replaces the same with the value from the variable with name <pattern>. 
Eg. If you have a variable defined as foo with value bar, 
on running this task on a file that contains __foo__ will be changed to bar. 

Tokenization Taskまたはトークナイザタスクを使用している場合。その選択において欲張りにならないようにRegExを少し変更する必要があります。

$regex = '__[A-Za-z0-9._-]*?__' 

詳細は、この質問をご参照ください:文字列の一部に置き換えるとTokenization based pattern replacement in web.config.token

+0

私はトークン化プロセスがregexpで動作することを知っていますが、私の質問は、文字列全体ではなく、見つかった文字列の一部だけをどうやって変更できるかということです。たとえば、私の場合、javascriptファイル内の文字列は:debugMode = trueです。私がデプロイするとき、私は 'false'の値にfalse値を変更したいが、一致する値には設定する:debug = true、それでトークナイザはそれを見つけて置き換え値を設定したくない:debug = false、prderで値だけを変更する –

+0

@AmitBenAmiの誤解をおかけして申し訳ありませんが、これは実現できませんでした。 debugMode = trueをdebugMode = falseに置き換えるにはfalseを指定します。マッチでどの部分を交換する必要があるか分からない。あなたがTFSのtokenizerタスクのためにあなた自身のマッチを作っていない限り。 –

0

をあなただけの単語全体を置き換えるものではありません、なぜことはできません。すなわち、debugOptionにfalseを設定したい場合は、変数を$(DebugOption)= debugOption = falseとしてリリースセクションに設定します。

私はこれがうまくいくと思います。

ありがとうございました

+0

はい、これは私が最終的に行ったことです –

+0

上記のことは、一致するルールがないので機能しません。 – abhilash

+0

しかし、それは値だけでなく、プロパティと値に対するクエリなので、私のために働いています。値だけを更新するのではなく、変数とその値を更新しています(変数名は変更されていません) –