(使用.net,TeamCity,git)
要使用我们团队可以推送的git创建存储库,它必须是--bare
。这适用于源代码管理。
但是,此--bare
存储库将被监视以使用TeamCity触发CI构建。我的问题是如何使用此存储库来触发构建,因为裸存储库中没有代码(.sln
)?
我已经尝试了几种配置,但是我无法创建可以推送到的远程存储库,并且会在生成时触发构建。
感谢您的帮助,
保
答案 0 :(得分:2)
2012年1月更新:
Jon在评论中提到TeamCity version 6.5.6与Git有很好的整合,这将使我在下面建议的钩子不需要。
它包括例如:
个人在Git和Mercurial的分支机构上构建
TeamCity 6.5提供了一种更自然的方式,可以在具有分布式版本控制的服务器上启动Personal Builds。
原始答案2010年11月
您可以设置两个存储库:
在裸露的地方,添加post-update hook,其中包含:
更新后挂钩:
#!/bin/sh
cd /path/to/non-bare/repo &&
unset GIT_DIR
git fetch origin
git reset --hard origin/master
This article提出了另一种方法(在接收后的挂钩上使用checkout -f
的非裸仓库)
一般的想法仍然是更新非裸仓库,以便您的TeamCity实例处理该组文件。