在构建服务器上,我设置了 TeamCity (8.1.1),以便在主分支、功能分支之一或使用分支说明符的 pull 请求分支之一发生更改时执行构建过程:
+:refs/heads/*
+:refs/pull/(*/merge)
我已经打开了构建代理选项:
teamcity.git.use.local.mirrors=true
它将存储库克隆到构建目录之外的目录中,然后从该本地存储库中 pull 。
构建过程需要访问 git 存储库和 master 分支,即使是构建功能分支或 pull 请求分支之一。然而,TeamCity 只有包含本地存储库中更改的分支,从而使我的构建失败,例如当更改发生在 issue/mycoolissue 分支上时,这是 TeamCity 工作空间中 git 存储库中存在的唯一分支。
我尝试执行本地 git fetch
来获取 master 分支,但是因为本地存储库没有 master 分支,所以失败了。虽然我可以添加一个远程指向源(一个 github 私有(private)存储库),但这意味着我也必须处理凭据,我宁愿让 TeamCity 为我处理所有这些。
我的问题是是否有办法告诉 TeamCity 将所有分支 pull 入本地存储库和工作存储库?
最佳答案
从 TeamCity 10.0.4 开始,您可以通过添加配置参数 teamcity.git.fetchAllHeads=true
See here 来做到这一点
关于git - 让 TeamCity pull 下所有 git 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23733970/