问题标签 [multibranch-pipeline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3569 浏览

jenkins - 在多分支管道中授予复制工件权限

我有以下设置:

通过Jenkinsfile. 成功签出和构建后,工件被存档并触发下游作业以部署生成的工件。

要使第二个作业能够通过该[$class: 'CopyArtifact'...步骤复制工件,它需要复制权限。

所以问题是,我如何通过Jenkinsfile上游作业授予这些权限?

0 投票
5 回答
12862 浏览

github - 提出拉取请求的 GitHub 分支名称

我在 Jenkins 中使用多分支管道作业。

如何在 GitHub 中找到提出拉取请求的分支名称?

我正在使用/github-webhook/&/ghprbhook/并尝试使用以下环境变量:GIT_LOCAL_BRANCH, GIT_BRANCH, ghprbSourceBranch,但我没有得到任何结果。

如果有任何建议,我很想尝试一下。

0 投票
4 回答
11602 浏览

jenkins - Jenkins JobDSL multibranchPipelineJob 更改脚本路径

我正在尝试在 jobDSL 中创建一个 multibranchPipelineJob,但是 Jenkinsfile 位于默认位置的替代位置。我查看了文档https://jenkinsci.github.io/job-dsl-plugin/#path/multibranchPipelineJob ,但我看不到这样做的方法。查看手动创建的 multibranchPipelineJob 的 config.xml,scriptPath 在该部分中,但我找不到 DSL 方法来设置它。

任何人都可以就如何做到这一点提供任何帮助吗?干杯

0 投票
3 回答
16353 浏览

jenkins - 仅在构建标签时执行 Jenkins Pipeline 步骤

0 投票
1 回答
955 浏览

jenkins - 在多分支管道作业中按分支限制运行状况指标

在多分支 Jenkins 工作中,您可以决定显示健康指标,它们是从健康状况较差的分支获得的。这很好,只是功能分支通常会失败,从而给项目带来较差的一般状态。是否可以将健康指标限制为仅考虑主分支和开发分支?

0 投票
2 回答
2913 浏览

jenkins - Jenkins:如何设置 GitHub 组织下作业的周期性扫描间隔?

在 Jenkins 中配置 GitHub 组织文件夹(GitHub 分支源插件)时,可以设置周期性扫描整个组织的时间间隔。例如,请参见此处的屏幕截图.

但是,我发现这不会影响扫描 GitHub 文件夹下存储库分支的间隔。即使将组织的扫描设置为 1 小时,单个存储库扫描的间隔仍为 1 天。例如,请参见此处的屏幕截图.

我希望每小时扫描一次我的所有存储库。GitHub组织下的仓库如何设置周期性扫描间隔?

0 投票
2 回答
3532 浏览

git - 为 Jenkins 多分支管道中的每个分支设置通用构建参数

我有一个 Jenkins 多分支项目和 Jenkins 管道文件所在的几个分支。我还有几个通用参数,这些参数对于每个分支都是实际的(例如要运行的测试组、硒属性等)

如何在 Jenkins 界面中定义这些参数集,以便它们将出现在每次运行的分支中,以便每个新分支自动成为“参数化构建”?我可以在特定分支构建的配置中看到此标志(但无法保存):

在此处输入图像描述

但不在多分支项目的配置中。

詹金斯 2.89.3

0 投票
1 回答
1349 浏览

jenkins - 闭包内的 Jenkins 管道库调用导致安全异常

我们正在使用带有组织文件夹的多分支管道(Bitbucket 分支源插件)。我正在使用共享库干燥我们的管道,从Jenkins 文档和论坛帖子中获取提示。我还向其他开发人员提供脚本,试图在希望一切“正常工作”的人和想要定制的人之间取得平衡。

我编写了一个包含管道和默认步骤的共享库。这个库是在 Jenkins 的文件夹级别配置的。

pipeline_main.groovy如果有一个带有键“init”的 Map 条目,或者如果没有,则使用用户提供的阶段进行一些初始化default_init

和詹金斯文件:

当只使用默认值时,调用库中定义的管道效果很好。

现在,请注意customInitJenkinsfile 中的方法。为了进行测试,我添加了一个调试行并从库中调用了该default_init步骤。当我使用此配置(未default_init 注释)运行测试构建时,构建失败并出现安全异常:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:脚本不允许使用方法 groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object ...

如果customInit方法只是echo管道成功执行的步骤。

我知道我可以将调用列入白名单invokeMethod,但似乎我应该尊重 Jenkins 发出的警告,即拒绝请求以避免可能的安全漏洞。而且,我知道我可以在全局 Jenkins 级别定义库以使其受信任;但是,如果可能的话,我宁愿坚持使用每个文件夹的方法。

我想知道为什么直接从 Jenkinsfile 调用的库方法不会调用安全异常,但封装在闭包中的库方法会这样做?还是我只是想念别的东西?

PS Jenkins 2.89.3、Bitbucket Branch Source 2.2.9、最新版本的所有“管道:...”库。

default_init.groovy内容,如果重要的话:

0 投票
2 回答
793 浏览

maven - 即使在 jenkins 脚本中分配了 pom 版本号,Env 变量值也被重置为原始值

我有一个场景,我必须阅读不同组件的 maven pom 版本并将版本分配给 docker image(TAG)。但是在我阅读 pom 后,将它分配给一些全局变量,它将在 groovy jenkins 脚本中重置为原始值。下面是示例。HMAP_VERSION 值将是 1.2.1 但当它在行中使用时:sh "docker login -u ${ART_USERNAME} -p ${ART_PASSWORD} test.com"该值将是UNINITIALISED.

有人可以告诉我可能出了什么问题吗?这将适用于在 env 块中读取的单个 maven 文件,如下所示:

下面是我想做什么的示例。

0 投票
1 回答
621 浏览

jenkins-pipeline - 从多分支管道触发功能/修补程序分支

我是多分支管道概念的新手,并试图在我们的项目中实施,我们在 docker 容器中运行我们的 jenkins 构建。

我们有一个要求,所有针对“开发”分支的构建都应该进行构建和 docker 镜像创建。其余创建的“功能/热修复”分支只需build .

我通过以下方式编写了一个 Jenkinsfile 文件

这里的问题是我们对特性分支名称进行硬编码,如果有人创建具有不同名称的分支并且 Jenkinsfile 将无法识别它,这可能是一个问题。

我正在尝试以 Jenkinsfile 必须自动识别新创建的分支并应该针对它运行构建的方式编写。

任何帮助,将不胜感激。