2015-02-23 147 views
1

我有一个使用TFS构建服务2013开始作为构建的一部分的MsBuild过程。我需要将一些参数传递给此过程(例如构建编号)。我之前通过修改构建模板完成了此操作,并将这些参数添加到发送到MSBuild的参数列表中,这些参数运行良好。TFS构建服务,环境变量和多个构建代理

但是我发现TFS Build Services写a number of environment variables用于运行(构建编号就是其中之一),而且我可以轻松更改我的MSBuild脚本,我宁愿直接使用这些变量而不是修改构建模板。

但是我的问题是,当我有几个构建代理时,这将如何工作?他们不会在环境变量中写入其他值吗?我可以100%确定在我的MSBuild脚本中,我没有得到可能并行启动的下一个版本的内部版本号?

回答

1

每个TFS构建都使用特定的内部版本号完成。如果您有多个代理在“并行”构建中工作,他们将全部使用相同的构建编号。每个构建代理将运行在他们自己的特定环境中,并且在其他代理并行运行时不会有任何问题 - 构建期间,一个代理的内部版本号不会“打断”另一个代理。

+0

运行的每个代理都是自己的进程和环境变量。所以他们不会冲突。这些环境变量不是用户/机器特定的,而只是过程特定的。 – Etienne 2015-02-24 15:16:09