32

TeamCity agent's show a list of "Environment Variables" under Agent Parameters but I cannot get them to update. I've added environment variables to my agent operating system, but cannot get them to refresh. I've tried restarting the agent and disabling and re-enabling the agent.

James
  • 3,485
  • 3
  • 20
  • 43

2 Answers2

40

The TeamCity agent doesn't actually read environment variables from the OS. Instead it reads them from the buildAgent/conf/buildAgent.properties file on your agent machine. Down at the bottom of this file you'll see instructions on how to add new variables. Something like this:

# Environment Variables
#env.exampleEnvVar=example Env Value
env.GRADLE_HOME=/Frameworks/gradle-2.9

Once you've done this, switch to the command prompt on your agent machine, and execute something like this:

./agent.sh stop
./agent.sh start

Obviously OS dependent. There is a .bat file there for Windows.

That should get your environment variables showing up in TeamCity.

the-drew
  • 93
  • 8
James
  • 3,485
  • 3
  • 20
  • 43
8

Just tried it in TeamCity 2017.2.1 and the machine-level environment variables are picked up by TeamCity build agents (as well as the ones in buildAgent.properties), so it looks like this has been fixed.

EM0
  • 5,369
  • 7
  • 51
  • 85