Jenkins和gitlab共享构建奴隶

时间:2017-03-23 21:27:16

标签: jenkins gitlab

假设您有一个gitlab实例,它已经通过gitlab Jenkins插件等使用Jenkins进行所有CI构建.Jenkins安装程序有一个适度的构建从属集合,提供各种平台等等。每个slave都是设置为一次只运行一个作业(即Jenkins作业获得对构建从属的独占访问权限,这很重要,因为我不会在这里讨论)。

现在假设你想考虑使用gitlab自己的原生CI支持,将一个或多个项目转移到gitlab而不是Jenkins。 gitlab CI需要使用相同的构建从属集,但它需要与Jenkins一起使用,并且两者需要合作,这样如果一个人在特定的奴隶上运行一个工作,另一个人就不会提交一份工作。同一个奴隶直到第一次完成。实际上,当Jenkins在奴隶上运行工作时,gitlab应该看到奴隶不可用,反之亦然。

任何人都有工作方法让gitlab告诉Jenkins当它在那里运行CI作业时使用奴隶,反之亦然?该方法不一定是100%防弹,如果gitlab和Jenkins同时在同一个奴隶上运行作业,如果这是一个罕见的事件,则可能是可以的(即,如果是竞争条件可能被容忍的话发生的频率可能很低。)

其他信息

  • 构建奴隶包括Linux,Windows和Apple。
  • Docker未使用,此时不允许使用。
  • 我们拥有对所有内容的完全管理员权限,但在gitlab或Jenkins本身更改代码将被拒绝。添加脚本或插件就可以了。

0 个答案:

没有答案