如何在TeamCity中获取项目依赖的检出目录?

6
我正在使用TeamCity作为构建服务器,在配置项目及其依赖项时遇到了一些小问题。
最终,我想要获取项目依赖项的检出目录以配置某些构建步骤。为此,我有变量%teamcity.build.checkoutDir%用于项目本身的检出目录。
然而,我没有找到类似于%dep.<dependencyID>.teamcity.build.checkoutDir%这样的东西。
有没有办法获取依赖项的检出目录?

我理解的目标是在“构建配置1”生成的文件中使用它们在“构建配置2”中吗? - Paul Hunt
2个回答

12

您可以在第一次构建中添加一个参数(比如checkoutDir),其值等于%teamcity.build.checkoutDir%。然后,您可以通过快照或者制品依赖获取这个参数的值。


啊,好主意,谢谢! - Stefan

1

我自己正在使用这个,可以访问我的依赖Build的Checkout目录...

%dep.<dependecyID>.teamcity.build.default.checkoutDir%

我认为这只能与快照依赖项配合使用才能正常工作。

这似乎适用于以自动命名的文件夹检出的依赖项。如果我手动指定文件夹,我只得到一个类似554523b6395b2878的字符串,它也没有指向正确的文件夹。 - Stefan
我认为你会发现你的自定义文件夹将位于554523b6395b2878文件夹内。例如D:\BuildAgent\Work\554523b6395b2878\MyCheckoutFolder。如果是这种情况,你可以设置一个参数来命名你的自定义检出目录,在VCS检出目录中使用此参数而不是硬编码,然后使用%dep.<dependecyID>.teamcity.build.default.checkoutDir%%MyCustomCheckoutPath%引用路径。 - jonhoare
1
如果您想获取完整路径,您需要获取代理路径+checkoutDir和自定义相对路径。例如:%teamcity.agent.home.dir%%dep.<dependecyID>.teamcity.build.default.checkoutDir%%MyCustomCheckoutPath% - jonhoare
是的,那是我现在的做法。但我仍然缺少一种通过变量引用非默认路径的方法。 - Stefan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接