当前位置: 首页 > 面试题库 >

Jenkins多分支管道和指定上游项目

钱运浩
2023-03-14
问题内容

目前,我们使用Jenkins作业DSL在每个Git分支上生成许多Jenkins作业。多分支管道插件似乎是一种有趣的方式,可以使用Jenkinsfiles获得一流的作业生成支持,并减少我们维护的Job
DSL数量。

例如,我们有 libwidget-serverwidget-server 开发分支项目。当libwidget-
server构建完成时,将触发widget-server作业(对于development分支)。这也适用于其他分支。

这利用Build after other projects are built上游构建完成时触发(例如libwidget-
server导致小部件服务器被构建)。

似乎多分支管道插件缺少Build after other projects are built设置-我们将如何在多分支管道构建中完成上述任务?


问题答案:

您应该将分支名称添加到上游作业中(假设您也在上游作业中使用了多分支管道)。

假设您有一个包含两个作业的文件夹,这两个作业都是多分支管道作业:jobAjobB; jobB后应触发jobAmaster

您可以将此代码段添加到jobB的Jenkinsfile中:

properties([
  pipelineTriggers([
    upstream(
      threshold: 'SUCCESS',
      upstreamProjects: '../jobA/master'
    )
  ])
])

(请注意,jobB此处的任何分支都将在jobA的master 之后触发!)



 类似资料:
  • 我试图在Jenkins的多分支管道中指定GithubProjectProperty。我试图在选项块中设置一个条目来控制这个值,但没有成功。 管道语法片段生成器建议: 以下各项似乎都不起作用: 1)尝试将属性直接放在选项块中 错误:“属性”部分已从0.8版起重命名。请改用“选项” 2)删除properties关键字,但将选项保留在选项块中 错误:无法将选项定义为映射 3)将GitHubProject

  • 问题内容: 我目前正在测试Jenkins 2.0的管道方法,以查看它是否适用于我正在使用的构建环境。 首先是环境本身。当前它由多个SCM存储库组成。每个存储库都包含多个分支,用于开发的不同阶段,并且每个分支都使用多种配置构建。并非所有配置都适用于每个存储库。 当前,每个存储库/分支都被设置为适用于不同配置的矩阵项目。每个项目将其构建结果作为工件公开,并且这些工件在下游项目中使用。 不同的存储库彼此

  • 我对使用Jenkins文件和GIT插件的Jenkins多分支pipleline有一个问题。 问题是,每次向暂存分支推送都会触发master管道。所需的行为是,推送到暂存分支仅触发用于暂存的管道,而推送到主分支仅触发主管道 这是我的詹金斯档案 我将分享一些日志:这是主分支的日志 这是主分支的日志,但只有暂存有一个新的提交: 注意“已发现更改”,即使主分支上的头未更改 詹金斯·弗。2.190.1 Gi

  • 对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应

  • 我正在努力使用Jenkins 2.1多分支管道,在这里,我从同一个git存储库构建了多个工件。一些工件是独立的,应该根据它们各自目录中的更改触发构建。有些是依赖的,应该由先前的步骤/构建触发。 存储库有一个控制整个管道的文件。Jenkins多分支管道作业会在所有更改时触发(无其他行为)。 我不知道如何在目录dirA发生变化时触发工件A的构建。 git回购协议中的Jenkins文件file:///r

  • 美好的一天, 我尝试在新的Jenkins实例上设置多分支管道,在扫描多分支管道日志中遇到了以下错误: 没有这样的文件:E:\Continuous Integration\Jenkins\jobs\Enhanced API\indexing\indexing.log 根据jenkins.err.log,我遇到了一个 这个Jenkins的版本是2.85,带有以下版本的Git插件: Git客户端插件-2