TeamCityをセットアップしてプロジェクトをビルドしようとしていますが、psakeビルドスクリプトが失敗します。その理由は、パス上にあるはずのgit実行可能ファイルを見つけることができないために絞り込まれています。 PowerShellを起動して自分で実行すると、すべてが正常に動作します。
Path環境変数(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変数がシステムデフォルトと異なるのはなぜですか、どうすれば修正できますか?
私はこの同じ問題に遭遇し、PATH変数への変更を取得するために、Team City Build Agent Serviceを再起動するだけで済みました。
Mac OSおよびLinuxでは、「env.PATH」という名前のビルドパラメーターに次の値を追加することで、ビルドエージェントのパスを拡張できます。
%env.PATH%:/my/path
Windowsでは「;」を使用しますパス区切り文字として「:」の代わりに。
ビルドエージェントのインストールディレクトリのconf/buildAgent.propertiesに以下を追加することもできます。
env.PATH=%env.PATH%:/my/path
(ファイルの下部に、環境変数の設定方法を示すコメントがあります。)
以前のいくつかの答えは正しいですが、詳細が不足しています(そして、それらを本当に理解するのに少し時間がかかります)—デフォルトエージェントが環境変数をどこに取るかは私には明確ではありません。エージェント構成でそれらを明確に修正します。
TeamCity/buildAgent/conf/buildAgent.properties
ファイルをenv.PATH=/usr/whatever
で編集するとうまくいきます。ドキュメントには 小さなヒント があります。
そのファイルを編集したら、UIのAgents > Default Agent > Agent Parameters > Environment Variables
で、それらが更新されていることを確認できます(注意、考えて、これらの変数は、エージェントが接続されている場合にのみ、UIで更新されます。 、UIには以前の値が表示されます)。
ソリューションはビルド構成/ 6ビルドパラメーターにあり、そこでenv。[ANYTHING]変数をオーバーライドできます。
追伸Sryそれを聞いて。私はまだTeamCityで成功する決意です。
Tishmaのコメントでほのめかされた私の解決策は、UserのPath
環境変数を変更し、Team City Build Agent Service
を再起動することでした
編集: このバグ はTeamCity 7.1で修正されました