2010-08-18 45 views
1

我将很快转移到git版本控制。我的持续构建系统是Hudson,我使用maven构建我的工件。hudson + git + maven

任何人都有最佳实践来设置git以最好地与其他工具一起工作。

有关如何在git中管理包和插件以最容易地将其拉入哈德森的建议也值得赞赏。

请谢谢。

+0

其实... http://stackoverflow.com/questions/3209208/what-is-the-cleverest-use-of-source-repository-that-you-have-ever-seen/3209767#3209767:no更多哈德森;) – VonC 2010-08-18 19:35:44

+0

@VonC:我会花更多时间重读所有内容,但我不明白David描述的解决方案与本地构建(您应该在提交之前运行)有何不同,而我不要认为它允许删除“中央”CI服务器。 *“没有更多的哈德森”*听起来像是一个夸张的捷径。 – 2010-08-18 20:13:08

+0

@帕斯卡尔:“没有更多的哈德森听起来像是一个夸大的捷径......因为它是;)但事实是,私人建筑你不需要一个工作调度。只是另一个本地Git仓库,它有一个用于管理构建并将有效构建(即,提交编译)的代码转换为远程仓库的脚本。 *有*(即在远程回购),可以进行更复杂的工作(静态分析,单元测试......),由哈德森安排。 – VonC 2010-08-18 20:50:50

回答

6

我们每天都在使用git-maven-hudson。

对于哈德森来说,有一个git插件可以很好地工作,并具有杀手功能。

Maven照顾自己的依赖关系,并不需要知道git或hudson,这使得很好的解耦和较少移动的部分。

现在为杀手功能:

我们基于工作票。在git中,我们使用每张票的分支并为该分支上的单张票进行所有开发。准备分享时,我们将分支推送到中央仓库。 Git插件将检查并加载所有新分支,将它们合并到主分支并编译/运行测试/部署到Nexus并将补丁推送到主分支。

我们定期从主分支拉近距离。

这可以很好地工作,几乎没有任何合并冲突在服务器上。

+0

您能否更详细地描述这是如何工作的,或者链接到参考页面? – 2010-10-13 10:42:56

+0

查看git插件的wiki页面,并查找“预构建分支合并”。 http://wiki.hudson-ci.org/display/HUDSON/Git+Plugin – 2010-10-13 16:14:57