将一个Jenkins作业重用于多个Git(GitHub)存储库

时间:2018-09-22 12:37:17

标签: git jenkins github jenkins-pipeline git-webhooks

我有一个非常简单的Jenkins构建,这是几个存储库所需要的。所有这些存储库都具有相同的组织,相同的分支机构等。除了存储库名称外,没有什么区别。

每个单独的存储库都应该只能为该特定存储库触发构建。我想像是将parameterized build与WebHook URL结合在一起,其中WebHook URL可能包含存储库名称的查询参数。

关于此的任何想法或指示吗?

4 个答案:

答案 0 :(得分:0)

我在某处了解到一个组织,他们将大多数标准管道放入全面的共享库中。 This article对此很有帮助。

我自己的公司使用“ Seedjobs”来仅通过一项作业创建多个管道。阅读this article以获得该想法的概述。

答案 1 :(得分:0)

我们通过创建Jenkins构建模板并基于此模板为每个url配置每个作业来实现这一目标

我们可以为一个作业配置参数,但并没有采用这种方法,因为要知道每个git repo失败的原因并不容易,因为我们需要遍历每个构建的参数

可以使用以下插件https://wiki.jenkins.io/display/JENKINS/Template+Project+Plugin

创建模板

答案 2 :(得分:0)

经过更多的研究,我想我将尝试“ GitHub Organization”工作类型。它会扫描给定GitHub组织或所有者的所有存储库,并自动管理相应的作业。

答案 3 :(得分:0)

我知道这个问题已经回答了,但是还有另一种简单的方法可以从多个GitHub URL触发单个Job。

您可以使用Generic Webhook Trigger Plugin从不同的GitHub存储库构建相同的Job。您需要为作业分配唯一令牌,并将多个GitHub存储库的Webhook配置为:

JENKINS_URL / generic-webhook-trigger / invoke?token = TOKEN_NAME