问题标签 [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 回答
704 浏览

authentication - Jenkins Multibranch 管道作业速率限制

我正在尝试在 Windows 上设置多分支 Jenkins 管道作业以检测新分支,在这种情况下,将功能分支包推送到内部 nuget 服务器。源代码保存在 Github 中,并且报告了 60 次调用/小时的速率限制,并且作业休眠并且延迟可能太长,因此开发人员最好手动部署包。我已经在 J​​enkins 和 Github 之间设置了 ssh auth,对于其他工作 ssh 工作正常,但是关于多分支凭证项目的帮助说

请注意,仅支持“带有密码的用户名”凭据。其他类型的现有凭据将被过滤掉。这是因为 jenkins 练习了 GitHub API,而这最后一个不支持其他的认证方式。

当我添加我的用户名和密码作为连接凭据时,但正如我所说,我限制为 60 次调用/小时,经过身份验证的 API 调用的速率限制为 5000 次调用/小时,如果我必须使用用户名/密码,如何连接以获得更高的速率?

0 投票
2 回答
1481 浏览

jenkins - 在拉取请求詹金斯多分支管道的情况下获取分支名称

当我打印 env.BRANCH_NAME 它打印 PR-pullrequestnumber 时,我正在使用 Jenkins 多分支管道拉取请求功能。而不是我想获得分支名称我怎么能得到它?

0 投票
0 回答
470 浏览

cakephp - 如何避免多分支管道中的双重结帐

运行作业时,SVN 存储库被签出以将 Jenkinsfile(存储在我的应用程序的根目录中)workspace/branch_name@script放入workspace/branch_name.

构建需要 35 - 40 分钟(大型应用程序,CakePHP)。

詹金斯文件:

进行测试:

控制台日志:

0 投票
3 回答
5437 浏览

jenkins - 我怎样才能使 cppcheck.xml 使用 jenkinsfile 本身在 jenkins 上发布?

目前我有一个多分支管道作业,其中发生了构建,并且 cppcheck 用于分析代码。但是,多分支管道中没有可用的“构建后操作”选项卡来启用“发布 cppcheck 结果”。我一直在互联网上寻找答案,但我找不到。

只有通用、构建触发器、高级项目选项和管道选项卡可用(我检查了高级项目选项,没有选项可以在此处添加构建后部分)。

有没有办法使用 jenkinsfile 本身对 cppcheck.xml 发布进行硬编码?有没有我可以使用的语法来调用 cppcheck 插件来检查 xml 文件并发布它。这确实是一个紧急需求。我尝试了很多搜索以将 xml 转换为其他格式,例如 html 或 jnuit xml 。似乎没有任何效果。有人可以帮忙吗?

0 投票
2 回答
192 浏览

jenkins - 集中管理的 Jenkinsfile

我正在使用 Jenkins 多分支管道。我在流水线语法生成器的帮助下创建了一个 Jenkins 文件。我的 Jenkinsfile 工作正常且符合预期。

但是现在我想集中管理这个 Jenkinsfile,所以我不必将它复制到我所有的 (git) 存储库中。我看到有一些选项可以使用通用的 groovy 脚本并将方法作为模块加载。但这意味着我必须用不同的语法重写我的 Jenkinsfile?

我尝试了几种选择,但都没有成功。例如,我已将 jenkinsfile 添加到其自己的 git 存储库中,并将该存储库作为子模块添加到(代码)存储库中。然后我尝试在 Jenkins 中进行如下图所示的配置

这是前进的方向吗,有什么(简单的)方法可以实现我想要完成的工作吗?

詹金斯配置示例

0 投票
0 回答
207 浏览

jenkins - 如何检测合并并执行清理操作

这就是我现在所拥有的:

现在我想要发生的是当分支被合并和删除时 jenkins 清理并删除它为该分支创建的 VM。

是否有合并/删除分支的触发器?

0 投票
1 回答
727 浏览

docker - 如何在 Jenkins 多分支管道中提取 docker 图像并启动容器?

我正在编写一个 Jenkinsfile 来为多分支管道和 docker/docker 管道插件创建构建,以在 Jenkins 中启动 docker 容器。我有一个图像,我想用它来构建 docker 容器。我需要从某个 URL 中提取此图像:docker.abc.com运行容器,然后在容器内执行所有 Jenkins 的工作。我目前收到以下错误:

Jenkins does not seem to be running inside a container

我的代码看起来像这样:

0 投票
1 回答
1192 浏览

jenkins - jenkins 多分支 jenkinsfile SVN 结帐

我在 [my svn branch]\build 文件夹中有一个 Jenkinsfile,它将代码检出到从节点并进行构建。

我的多分支项目正确地找到了分支,但它检查了 master 上的整个 svn 分支只是为了读取 jenkinsfile 而不是只检查 [my svn branch]\build 文件夹的 jenkinsfile 本身。

由于存储和性能,这是一个主要问题,有什么解决方案吗?

0 投票
1 回答
8158 浏览

github - GitHub 要求 Jenkins 对分叉与本地分支进行状态检查

我在 Jenkins 中使用 Multibranch Pipeline 作业建立了一个 GitHub 存储库,到目前为止,我一直满足于要求continuous-integration/jenkins/branch状态检查,正如 Jenkins 在从 repo 构建本地分支时发布的那样。但是,我现在收到了来自外部分支的拉取请求,詹金斯已经为此发布了continuous-integration/jenkins/pr-merge状态检查。并且因为continuous-integration/jenkins/branch需要进行状态检查,所以阻止了 PR 被合并。

对于一个结合了本地分支(来自其主要维护者)和分支(来自偶尔的外部贡献者)的项目,这里的预期方法是什么?我必须放弃在 GitHub 端进行任何一项状态检查吗?或者有没有其他方法可以让 Jenkins 发布一个稳定的状态检查上下文,而不管 PR 的来源是什么?

0 投票
1 回答
1210 浏览

jenkins - Jenkins 多分支管道索引问题

再会,

我正在尝试在我们的新 Jenkins 实例上设置 Multibranch 管道,但在Scan Multibranch Pipeline Log中遇到此错误:

没有这样的文件:E:\Continuous Integration\Jenkins\jobs\Enhanced-API\indexing\indexing.log

根据 jenkins.err.log,我遇到了一个

WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /view/EAPI/job/Enhanced-API/configure. Reason: java.lang.NullPointerException: Descriptor list is null for context 'class org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject' in thread 'Handling GET /view/EAPI/job/Enhanced-API/configure from 10.117.100.110 : RequestHandlerThread[#35] AbstractFolder/configure.jelly FolderLibraries/DescriptorImpl/config.jelly LibraryConfiguration/config.jelly SCMRetriever/DescriptorImpl/config.jelly MultiSCM/DescriptorImpl/config.jelly' java.lang.NullPointerException: Descriptor list is null for context 'class org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject' in thread 'Handling GET /view/EAPI/job/Enhanced-API/configure from 10.117.100.110 : RequestHandlerThread[#35] AbstractFolder/configure.jelly FolderLibraries/DescriptorImpl/config.jelly LibraryConfiguration/config.jelly SCMRetriever/DescriptorImpl/config.jelly MultiSCM/DescriptorImpl/config.jelly' at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:73) at hudson.Functions.filterDescriptors(Functions.java:1863) at sun.reflect.GeneratedMethodAccessor293.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74) at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)

这个 Jenkins 的版本是2.85,带有以下版本的 Git 插件:

Git 客户端插件 - 2.5.0

Git 插件 - 3.6.0

GIT 服务器插件 - 1.7

GitHub API 插件 - 1.89

GitHub 分支源插件 - 2.2.3

GitHub 插件 - 1.28.0

关于我们为什么遇到这个问题的任何想法?谢谢!