3

たとえば、一部の文字列を に置き換える必要がある場合 %teamcity.agent.work.dir%\\nd_r\\bin\\isf。ただし、 variableteamcity.agent.work.dirC:\BuildAgent\work\の場合、すべてのバックスラッシュが削除され、テキストが に置き換えられますC:BuildAgentwork\nd_r\bin\isf

最初にその値がわからない場合、変数内のすべてのバックスラッシュをどのようにエスケープできますか?

\Q%env.NDRIVE%\E\nd_r\bin\isf - 動作しません。

4

3 に答える 3

3

TeamCity は、% 参照の値の追加処理をサポートしていません。「そのまま」しか使用できません。

あなたの場合、考えられる回避策は次のとおりです。

  • File content replacer を使用せず、必要に応じてエスケープを処理できるスクリプトでビルドの最初のステップとして関連ロジックを実行します。
  • 値をエスケープし、すでにエスケープされた形式のパラメーターとして TeamCity に提供します。File content replacer はビルド ステップの前に機能するため、これはビルド チェーンの前のビルドで実行でき、パラメータはチェーンのビルドから使用できます
  • 事前定義されたパラメーターのセットにエスケープされた値を提供するTeamCity プラグインを作成する
于 2016-06-27T16:40:18.690 に答える