问题标签 [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 投票
1 回答
801 浏览

jenkins - 如何在多分支管道项目中为每个分支级别的用户提供访问权限?

在 Jenkins 中,我们有一些多分支管道项目,具有三个分支 Develop、Master 和 SIT。我们有大约 10 名开发人员。对于 5 个开发人员,我应该提供对开发分支的访问权限以运行。另外,我应该限制他们运行 master 和 SIT 分支。我们可以这样做吗?我尝试使用基于矩阵的类型,但它无法为每个分支级别提供访问。感谢您的帮助和评论...!

0 投票
2 回答
14414 浏览

jenkins - 如何使用 Jenkinsfile 禁用多分支管道中的分支

我在 Jenkins 有一个多分支管道项目。我想在管道项目中列出一个分支时禁用它。我可以添加一个异常来超越 scm 触发。但我想禁用所有触发,包括手动触发。如果我在为分支创建的作业中使用“构建触发器”下的“禁用此项目”,则当我重新加载页面时不会选择该选项(没有可用于单个分支管道的保存/应用按钮)。它只保留在 Jenkinsfile 中配置的以下配置。

有没有办法在 Jenkinsfile 中指定“禁用此项目”

0 投票
1 回答
361 浏览

jenkins - 从多分支管道 Jenkinsfile 触发部署作业

因此,我们目前正在使用多分支管道来运行我们的持续集成流程,最后一个阶段是在我们的 JFrog Artifactory“开发”存储库中发布可部署的工件,这很有效!

我的问题是,如果我想自动触发一个新的 Jenkins 作业以获取该可部署工件并将其部署到集成服务器并运行功能测试,那么我想我会在 Jenkinsfile 的末尾做这样的事情:

这种方法有效!然而,因为它是一个多分支管道,我将不得不对我想要触发的 Jenkins 工作进行硬编码,我真的不想这样做,但我不知道还能尝试什么,因为我认为不会有另一种方法来获得info 我需要找到要部署的工件(ID、版本、名称等),对吗?

0 投票
0 回答
450 浏览

maven - 仅在 Jenkins Multibranch 管道中构建更改

我正在 Jenkins 中开发多分支管道。我们使用 SVN 作为存储库,使用 maven 进行构建。我已将 jenkins 文件放在每个分支中。

在詹金斯文件中,

初次结帐后,我编写了一个函数来遍历工作区并将文件夹名称添加到需要提前构建的列表中。

在构建阶段,我使用列表大小使用 for 循环进行迭代,导航到目录并在 POM 文件所在的文件夹中运行 maven 命令。我要解决的问题是,当分支下的项目之一发生更改时,由于上述配置,它会为所有项目运行构建。我正在寻找一些指导来运行构建仅用于使用管道进行的更改。

代码片段 - for (int i = 0; i < size; i++) {

也不确定这是否是使用 Maven 构建的正确方法。

0 投票
1 回答
1170 浏览

jenkins - 詹金斯:disableConcurentBuild 不起作用

我有一个多分支管道,我想确保它一次执行一个运行。我无法在代理上设置单个执行程序,因为其他作业可以在其他工作区中运行。

这是我的管道的脚本编写方式:

当我一次推送三个分支时,该作业将同时开始运行三次,有什么建议说明为什么会失败?

0 投票
1 回答
4200 浏览

git - 声明式 Jenkins 管道:如何从项目中删除分支而不从 svn 中删除它们?

我们有多个分支管道项目来构建每个提交。由于每个错误和功能都在一个单独的分支中完成 - 我在 Jenkins 项目(多分支管道)中的分支列表自动增长得非常快。

我想保持分支 # 低于 15 以在 Jenkins 中显示。问题是我们在合并到主分支(主分支)后不删除功能分支 - 因此詹金斯仍在索引它们。

我的调查导致:

1)我可以手动从每个分支中删除 Jenkinsfile,这是一个糟糕的解决方案。

2)我尝试在声明性管道中使用“孤立项目策略”,但它只会删除某个分支上的“构建”,而不是从 Jenkins 视图中删除分支本身。

我是 Jenkins 和声明式管道的新手——也许有一个好的方法来解决?

0 投票
2 回答
34079 浏览

jenkins - Jenkins Multibranch Config:如何根据变量字符串过滤分支?

我们让 Jenkins 建立了 7 个多分支管道项目,每个项目都基于相同的 git 存储库构建,但针对不同的目标平台。这些多分支管道中的每一个都构建了许多分支。我们目前通过在多分支项目配置中使用以下属性来设置每个多分支管道构建的分支:

Branch Sources -> Git -> Behaviors -> Filter by name (with wildcards)

目前,每个多分支管道在该Filter by name (with wildcards)字段中具有相同的分支字符串。每次我们希望 Jenkins 开始构建新分支时,我们都会检查所有 7 个多分支项目配置并更新此字段以包含新分支。

每次都检查每个配置并更改此字段有点痛苦,因为我们总是希望每个配置具有相同的分支列表。是否可以在此字段中简单地使用某种类型的变量?这样我们只需要更改一个位置,而不是试图保持 7 个不同的配置彼此同步,这很容易出错,也有点痛苦。

谢谢你的帮助!艾伦

0 投票
1 回答
3784 浏览

jenkins-pipeline - 使用其他条件在 jenkinsfile 中运行多个分支

我有一个 jenkinsfile,其中包含构建和部署最新代码到我们的登台服务器的所有步骤。现在我需要修改它以支持构建到生产。但是构建到生产只能手动完成,Jenkins 无法自动启动它。

所以我有两个不同的分支:开发和掌握。开发分支将用于构建到暂存和主分支到生产。对于主分支,我需要手动启动管道,而对于开发分支,它可以完全自动完成(在一天中的固定时间)。

为了便于将我的代码升级到生产,我希望只有一个 jenkinsfile 在不同的分支中相互复制(因此在合并后不能用开发分支的 jenkinsfile 覆盖生产 jenkinsfile)。

如何在 jenkinsfile 中实现这一点?

我当前的詹金斯文件看起来像:

0 投票
1 回答
1289 浏览

jenkins - 如何从 Jenkins 管道中删除一个属性?

在我的 Jenkins 多分支管道中,我想在我的 Jenkinsfile 中使用以下代码:

但是,只有在 condition1 为真的情况下,我才能删除属性 VALUE_NAME?我只找到了sintax:

^^ 这会删除所有参数,即使我的变量没有像本例中那样具有公共主体的名称(“VALUE_NAME”)。
有了这个sintax,一旦构建运行一次,我就看不到作业UI上的“使用参数构建”按钮,而是“立即构建”。

0 投票
2 回答
6895 浏览

jenkins-pipeline - JenkinsFile 默认工作区名称太长

我目前正在使用 bitbucket 设置 jenkins。我已经创建了一个新的 jenkins 项目作为多分支项目。

JenkinsFile 托管在 git 存储库中。如何强制 jenkins 生成比默认分支名称更短的分支名称。

我怎样才能搭上ZKIZ7BNGL6RTDKLQAQ7QR4FKZMOB3DDAVZ564BLWT2BY5ZV652VA

这是我的詹金斯文件

有没有办法强制詹金斯生成一个更短的名字?