TeamCity使用相同的checkout目录构建

use*_*965 9 teamcity build

是否有可能在同一目录上获得两个版本来结帐,请问如何做到这一点?

目前,两个不同的版本正在检出两个不同的目录.

Joh*_*err 18

您可以通过控制结帐目录位置来完成此操作.

首先,您需要将checkout目录定义为两个构建都可以知道的内容.在构建配置中,浏览到"版本控制设置" - >"结帐设置".将Checkout Directory设置更改为Custom Path.然后,系统将提示您提供要检出源的目录.这可以是你想要的任何地方**,只要TeamCity在那里有写权限.

接下来,您需要修改每个项目的Checkout Rules(也在版本控制设置上),以便它们定位到相对于Checkout Directory根目录的文件夹.您可以通过将规则设置为来执行此操作+:%some.repo.path%=>/%some.sub.folder%.你可以开出你想要的任何子文件夹.我们只需将所有内容签出到Checkout Directory根目录(=>/).

如果两个项目都引用了相同的Checkout目录,那么这种设置组合应该可以为您提供所需的控制和灵活性.

**对于我们的结帐目录,我们使用参数化值%teamcity.agent.work.dir%\%system.teamcity.projectName%\%branch%.前两个参数是TeamCity系统参数,最后一个是我们定义的.在我们的系统上,这解析为G:\ BuildAgent\work\$ PROJECT\$ BRANCH,它保持一切整洁和可预测.