如何向TeamCity代理更新或添加环境变量

如何向TeamCity代理更新或添加环境变量,teamcity,Teamcity,TeamCity代理在代理参数下显示“环境变量”列表,但我无法更新它们。我已将环境变量添加到代理操作系统中,但无法刷新它们。我尝试重新启动代理,禁用并重新启用代理。TeamCity代理实际上没有从操作系统读取环境变量。相反,它从代理计算机上的buildAgent/conf/buildAgent.properties文件中读取它们。在这个文件的底部,您将看到关于如何添加新变量的说明。大概是这样的: # Environment Variables #env.exampleEnvVar=example

TeamCity代理在代理参数下显示“环境变量”列表,但我无法更新它们。我已将环境变量添加到代理操作系统中,但无法刷新它们。我尝试重新启动代理,禁用并重新启用代理。

TeamCity代理实际上没有从操作系统读取环境变量。相反,它从代理计算机上的buildAgent/conf/buildAgent.properties文件中读取它们。在这个文件的底部,您将看到关于如何添加新变量的说明。大概是这样的:

# Environment Variables
#env.exampleEnvVar=example Env Value
env.GRADLE_HOME=/Frameworks/gradle-2.9
./agent.sh stop
./agent.sh start
完成此操作后,在代理计算机上切换到命令提示符,并执行如下操作:

# Environment Variables
#env.exampleEnvVar=example Env Value
env.GRADLE_HOME=/Frameworks/gradle-2.9
./agent.sh stop
./agent.sh start
显然依赖于操作系统。那里有一个用于Windows的.bat文件


这应该会让您的环境变量显示在TeamCity中。

刚刚在TeamCity 2017.2.1中尝试过,并且TeamCity构建代理(以及buildAgent.properties中的代理)会拾取机器级别的环境变量,所以看起来这一问题已经得到了解决。

我要说,Linux构建代理上的情况似乎不是这样(版本2018.2.4)。也许操作系统规范对我来说在Windows build Agent上肯定不是这样的…(2020.1.4)