Git推送到Teamcity CI

时间:2010-11-19 12:39:50

标签: git teamcity

(使用.net,TeamCity,git)

要使用我们团队可以推送的git创建存储库,它必须是--bare。这适用于源代码管理。

但是,此--bare存储库将被监视以使用TeamCity触发CI构建。我的问题是如何使用此存储库来触发构建,因为裸存储库中没有代码(.sln)?

我已经尝试了几种配置,但是我无法创建可以推送到的远程存储库,并且会在生成时触发构建。

感谢您的帮助,

1 个答案:

答案 0 :(得分:2)

2012年1月更新:

Jon在评论中提到TeamCity version 6.5.6与Git有很好的整合,这将使我在下面建议的钩子不需要。

它包括例如:

个人在Git和Mercurial的分支机构上构建

  

TeamCity 6.5提供了一种更自然的方式,可以在具有分布式版本控制的服务器上启动Personal Builds。

personal build change


原始答案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实例处理该组文件。