Jenkins项目之间的区别

问题描述 投票:1回答:2

这些Jenkins项目类型之间有什么区别:

Pipeline
Multi Branch Pipeline
Github Organization

我正在使用Jenkinsfile。

我认为对于Pipeline,它仅支持一个分支,而由于Multi Branch支持任何分支。 Github组织不确定。我想用詹金斯(Jenkins)的构建状态更新来自Github的Pull Request。

git jenkins github jenkins-pipeline
2个回答
0
投票
  • pipeline job中,您指定Jenkinsfile在哪个分支中。

  • 但是在多分支管道中,每个分支可以有自己的Jenkinsfile。

  • [GitHub Organization folder用于扫描GitHub组织或Bitbucket团队以发现组织的存储库,并自动为其创建托管的多分支管道作业。

更新来自Github的具有Jenkins构建状态的Pull Request

您可以遵循使用WebHook的“ How to update Jenkins build status in GitHub pull requests [Step-by-Step Tutorial]”。

或者您可以使用GitHub PR Builder Plugin


0
投票
  • Pipeline工作基本上是在要求Jenkins运行用Groovy编写的管道。您可以将该Groovy代码“粘贴”到Jenkins的文本字段中,或者告诉Jenkins“该Groovy代码在SCM中的某个位置”。您的工作是“自由式”,因此可以做任何事情-进行清理,发送电子邮件或下载猫的图片,当然,它可以滚动“构建-测试-部署”周期。

    例如,您的工作可能会要求提供分支名称,并建立几个带有其名称的分支。 (从理论上讲,它也可以请求存储库URL,并构建多个存储库。)

  • Multibranch作业基本上告诉Jenkins,有一个具有多个分支的仓库(其中一些是PR)。这更适合构建-测试-部署周期。在这种类型中,每个分支都有其自己的Jenkinsfile(该分支是在从master或其他分支生成该分支时创建的),并且每个分支都是根据其自己的Jenkinsfile构建的。

    这是大多数人想要的,这就是原因:让我们假设“常规”项目构建提供了三个可交付成果(二进制文件,tar,jar或其他东西),而我的PR增加了第四个。我将把如何构建这第四件事的说明放在哪里?在Multibranch中,我将指令添加到分支的Jenkinsfile中。我的分支机构生产四个可交付成果,其他分支机构三个。当我的分支合并时,主分支变为四个,依此类推。

    ((在单个管道中,我需要使用if-else指令修改我的整个项目范围内的Jenkinsfile,这可能很快会失控。)>]

  • Github Organization非常相似,但是与GitHub的集成更为紧密,因此只有在您使用的是这种情况下才有意义(与BitBucket等无关)。]]


推荐问答