首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Git Slave与Jenkins集成

将Git Slave与Jenkins集成
EN

Stack Overflow用户
提问于 2013-06-17 07:36:03
回答 1查看 806关注 0票数 2

集成git-slave和jenkins的最佳方式是什么?有没有可能在不编写完整的插件的情况下做到这一点?有什么我可以走捷径的吗?我最感兴趣的是复制:

(1)轮询和启动基于对git从属git存储库或其子存储库的更改的构建。

(2)打印出自上次构建以来所有存储库中的提交。

只是看看有没有其他人在这方面做过什么。我喜欢git-slave,因为对于普通的scm用户来说,它似乎比其他多存储库方法(即git子模块、git子树)更不容易出错。我看到repo有一个插件,但不幸的是repo与gerrit联系得太紧密了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-18 00:48:56

如果没有太多关于Jenkins的详细知识,我会猜测

(1)轮询和启动基于对git从属git存储库或其子存储库的更改的构建

你必须在一端或另一端编写一个插件。如果你不想写一个Jenkins插件,你需要写一个Git post-receive钩子或者类似的东西,这可能会触发Jenkins构建repo (如果它是一个从属的话就是它的父对象)。设置post-receive钩子可能更好,因为它消除了轮询开销,并且this question提供了一个博客文章的链接,该博客帖子讨论了这一点。

用于(2)打印自上次构建以来所有存储库中的提交

最有可能的方法似乎是让Jenkins构建在完成构建时使用gits tag在存储库和从属/子代上放置一个标记,然后使用gits log $last_build_tag..HEAD之类的东西来显示自该构建以来的所有提交。我不建议回收标签,而是使用多个带时间戳的标签(例如jenkins-build-2013-06-19-10-24),并从git tag | sort -nr | sed '/jenkins-build/q'的输出中提取$last_build_tag (不需要使用gits tag,因为Jenkins标签集可能对所有repos都是相同的)。

这些标签肯定会把标签空间弄得乱七八糟,理想情况下,你应该把这些标签放在一个只从别人那里提取的repo上,这样你就不会把这些标签推出去,把其他所有的repo搞得一团糟。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17138728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档