将Git Slave与Jenkins集成
将git slave与jenkins集成的最佳方式是什么?不编写完整的插件就可以做到这一点吗?我能走捷径吗?我最感兴趣的是复制: (1) 基于对git从属git存储库或其子库的更改轮询并启动构建 (2) 打印出自上次生成以来所有存储库中的提交将Git Slave与Jenkins集成,git,jenkins,git-slave,Git,Jenkins,Git Slave,将git slave与jenkins集成的最佳方式是什么?不编写完整的插件就可以做到这一点吗?我能走捷径吗?我最感兴趣的是复制: (1) 基于对git从属git存储库或其子库的更改轮询并启动构建 (2) 打印出自上次生成以来所有存储库中的提交 看看有没有人在这方面做过什么。我喜欢git slave,因为与其他多存储库方法(即git子模块、git子树)相比,对于普通scm用户来说,它似乎不太容易出错。我看到repo有一个插件,但不幸的是,repo与gerrit的联系太紧密了。如果对Jenkins没
看看有没有人在这方面做过什么。我喜欢git slave,因为与其他多存储库方法(即git子模块、git子树)相比,对于普通scm用户来说,它似乎不太容易出错。我看到repo有一个插件,但不幸的是,repo与gerrit的联系太紧密了。如果对Jenkins没有太多详细的了解,我想这是因为 (1) 基于对git从属git存储库或其子库的更改轮询并启动构建 您必须在一端或另一端编写插件。如果你不想写Jenkins插件,你需要写一个Git post receive钩子或者类似的东西,这可能会触发repo的Jenkins构建(或者如果它是一个从属的话,它的父版本)。设置post-receive钩子可能更好,因为它消除了轮询开销,并提供了一个指向讨论如何执行此操作的博客文章的链接 用于(2)打印自上次生成以来所有存储库中的提交 最可能的方法似乎是让Jenkins build在完成构建时使用
gits标记
在repo和从属/子代上放置一个标记,然后使用类似于gits log$last\u build\u tag..HEAD的东西来显示自该构建以来的所有提交。我不建议回收标签,而是使用多个时间戳标签(例如jenkins-build-2013-06-19-10-24)并从git-tag | sort-nr | sed'/jenkins-build/q'
(无需使用gits-tag
)的输出中提取$last_-build||标签(假设所有回购的jenkins标签集都是相同的)
这些标签肯定会把标签空间弄得乱七八糟,理想情况下,你可以在只从其他人那里提取的回购协议上制作这些标签,这样你就不会把这些标签推出来,弄乱所有其他回购协议。我们在自己的地方经常使用Gitsave。然而,我们最终忽略了Jenkins中的Gitsave,而是使用了多SCMs插件: