git - 让 TeamCity pull 下所有 git 分支

标签 git teamcity

在构建服务器上,我设置了 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/

相关文章:

GIT:仅从 GitHub 克隆特定分支

git - 如何找到包含给定 git 提交的 TeamCity 构建?

git - Dokku的Dart项目。未能掌握

visual-studio-2010 - 在 TeamCity 中安装与 Visual Studio 2010 (sln) 兼容的构建代理需要什么?

teamcity - 如何配置 TeamCity 服务器以从本地网络/域中的其他计算机访问?

teamcity - 对于大型存储库,应如何在 TeamCity 中配置 Perforce VCS 根?

continuous-integration - 如果注释发生更改,则阻止 TeamCity 构建

git - Jenkinsfile 获取当前标签

git - merge 到 master 时为什么要删除功能分支

git-p4: fatal: git 是在不支持 git-p4 的情况下构建的 (NO_PYTHON=1)