43

プロジェクトをビルドするためにTeamCityをセットアップしようとしていますが、psake buildscriptが失敗します。その理由は、パス上にあるはずのgit実行可能ファイルが見つからないことに絞り込まれているためです。PowerShellを起動して自分で実行すると、すべてが正常に機能します。

パス環境変数の内容(Windowsの[環境変数]ダイアログの[システム変数]リスト、およびのレジストリに表示されているHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\Path)は次のとおりです。

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Git\cmd

それでもTeamCityは、そのenv.Pathは

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Windows\System32\WindowsPowerShell\v1.0

コンピューターを(複数回)再起動しましたが、まったく役に立ちません。

TeamCityビルドエージェントのPATH変数がシステムのデフォルトと異なるのはなぜですか?また、どうすれば修正できますか?

4

5 に答える 5

21

私はこれと同じ問題に遭遇し、Team City Build Agent サービスを再起動して PATH 変数への変更を取得するだけで済みました。

于 2014-02-08T06:08:42.777 に答える
21

Mac OS および Linux では、次の値を持つ「env.PATH」という名前のビルド パラメーターを追加することで、ビルド エージェントのパスを展開できます。

%env.PATH%:/my/path

Windows では「;」を使用します。パス区切り文字としての「:」の代わりに。

ビルド エージェントのインストール ディレクトリの conf/buildAgent.properties に以下を追加することもできます。

env.PATH=%env.PATH%:/my/path

(ファイルの下部に、環境変数の設定方法を示すコメントがあります。)

于 2015-05-14T21:00:29.880 に答える
10

以前の回答のいくつかは正しいですが、詳細が不足しています (そして、それらを本当に理解するのに時間がかかります) — デフォルト エージェントが環境変数をどこで使用するかは私には明確ではありません: そこで、エージェント構成でそれらを明確に修正する方法を次に示します。

TeamCity/buildAgent/conf/buildAgent.propertiesでファイルを編集するenv.PATH=/usr/whateverとうまくいきます。ドキュメントには、それに関する小さなヒントがあります。

そのファイルを編集したら、Agents > Default Agent > Agent Parameters > Environment Variables更新されたことを UI で確認できます (慎重に考えてください。これらの変数は、エージェントが接続されているときにのみ UI で更新されます。切断されている場合、UI には過去価値)。

于 2015-08-26T09:43:42.490 に答える
4

tishma のコメントで示唆された私の解決策は、ユーザーPathの環境変数を変更して再起動することでした。Team City Build Agent Service

編集:このバグは TeamCity 7.1 で修正されました。

于 2012-08-07T16:56:38.563 に答える
4

解決策は、env.[ANYTHING] 変数をオーバーライドできる Build Configuration/6 Build Parameters にあります。

PS Sry それを聞いて。私はまだ TeamCity で成功することを決意しています。

于 2012-02-21T11:12:40.890 に答える