continuous-integration - TeamCity 构建代理从哪里获取其路径环境?

标签 continuous-integration environment-variables teamcity psake teamcity-6

我正在尝试设置 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 变量与系统默认值不同,如何修复它?

最佳答案

您可以通过在 Mac OS 和 Linux 上添加名为“env.PATH”的构建参数以及以下值来扩展构建代理的路径。

%env.PATH%:/my/path

在 Windows 上使用“;”而不是“:”作为路径分隔符。

您还可以将以下内容添加到构建代理安装目录中的conf/buildAgent.properties。

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

(文件底部有一条注释,显示如何设置环境变量。)

关于continuous-integration - TeamCity 构建代理从哪里获取其路径环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8827696/

相关文章:

wordpress - 在有状态 CMS 中将后台与 Github 同步

continuous-integration - 是否可以在 Hudson 中通过修订来参数化 subversion 存储库 URL?

ruby-on-rails - 为什么要测试:units and test:functionals insist on running in development environment?

datetime - MMdd 格式的 TeamCity 当前日期变量

azure - Kubernetes:无法从私有(private)容器注册表中提取镜像

msbuild - 是否可以使用 dotnet CLI 提取 csproj 文件中元素的值?

spring-boot - Kubernetes自动生成的环境变量设置错误?

angularjs - Angular js读取环境变量

continuous-integration - Hudson 还是 Teamcity 进行持续集成?

css - Sonarqube css 扫描问题