问题标签 [jenkins-blueocean]
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.
jenkins - Jenkins Pipeline 和大量并行步骤
我已经在整个互联网上搜索了 2 周,在 freenode IRC 和 Jenkins 用户组邮件列表中询问,但没有得到答案,所以我在这里,你是我最后的希望(没有压力)
我有一个 Jenkins 脚本管道,它生成数百个并行分支,这些分支必须在数百个从节点上同时运行。目前看来 Jenkins BlueOcean 用户界面不适合这种情况。我们达到了一个点,所有步骤都无法显示。
我需要提供某种背景来让您了解我们的需求:我们公司有一个庞大的项目,其中包含数千个 Behat/Selenium,如果按顺序完成,现在需要超过 30 小时才能运行。我们前段时间实现了一个基本解决方案,我们使用排队系统(RabbitMq)来存储所有测试和运行测试的消费者,方法是从 Jenkins 下载源代码并将工件上传回 Jenkins,但这不像Jenkins 本地从属,它的可维护性不够(例如,我们无法从实时输出日志和使用统计中受益)。
我知道这里有一个描述问题的未解决问题:https ://issues.jenkins-ci.org/browse/JENKINS-41205但是,基本上,我需要在下周工作的解决方法(我们的开发团队正在等待这个新管道很长一段时间了)。
我们的管道现在看起来像这样:
您可以在此处找到我们的 Jenkinsfile 的完整版本:https ://github.com/willy-ahva/pim-community-dev/blob/086e4ed48ef1a3d880ca16b6f5572f350d26eb03/Jenkinsfile (它可能看起来很复杂,但基本上,真正的问题是“功能测试”阶段)
我的问题是:
- 我使用并行的好方法吗?
- 这只是一个 Jenkins/BlueOcean 问题,我应该为我链接的问题做出贡献吗?(如果是,如何?我根本不是 Java 开发人员)
- 我应该尝试使用 MultiJob 并并行化作业而不是步骤吗?
- 除了并行之外,还有其他工具可以使用吗?(某种叉子或其他什么)?
非常感谢你的帮助。我喜欢 Jenkins 在 Pipeline 和 BlueOcean UI 中的表现,我真的很想让它在我们的团队中发挥作用。
windows - Jenkins Blue Ocean 工作区路径太长
我们正在使用 Jenkins Blue Ocean 在 Windows 2012 r2 Jenkins Slaves 上构建 .Net 应用程序。我们Jenkinsfile
在 git repos 中使用 a 来定义构建管道。
对于几个项目,由于工作区构建路径太长,Windows 无法处理,我们会遇到构建失败。
这通常发生在最大化最大路径的命令中nuget pack
。npm install
由于我们无法影响 Visual Studio 解决方案 nuget 包路径的长度,我们如何将工作区文件夹放到 Windows 可以处理的位置?
感谢 Mutsa 的建议,我们最终在 Jenkinsfile 中得到了这样的结果:
这可以在我们GitHub 上的 .net core Wakeboard UK 网站 repo的上下文中看到。
git - Jenkins GitHub 组织项目使用分离的 HEAD 签出
我在我的 Jenkins 机器上设置了一个 GitHub 组织,并且正在使用多分支管道配置来构建我的项目。我使用 Blue Ocean UI 在全新安装的最新 Jenkins 版本上配置了所有内容。
当 Jenkins 签出项目以进行构建时,它会使用使git checkout -f {hash}
工作目录处于“分离 HEAD”状态的命令来执行此操作。我们的 gradle 构建脚本依赖于自省当前工作目录以找出有关当前分支的信息,这在这种情况下会失败。
这个问题似乎有据可查(例如,here),但在所有情况下,解决方案似乎都是Checkout/merge to local branch (optional)
在项目的 git 设置中设置一个名为的选项。在我的设置中,我无法在任何地方找到此设置。我查看了组织、项目和个人分支级别,但没有运气。
还有其他方法可以让詹金斯结账到当地分支机构吗?
jenkins - 使用 Jenkinsfile 构建 Jenkins 管道没有失败
我有一个如下所示的声明性管道阶段,
我预计管道会失败,因为构建失败并显示以下消息。
currentBuild.result 在我打印时都是空的。
蚂蚁叫错了吗?
为什么管道没有自动捕获返回状态?
蚂蚁调用不会返回失败状态吗?
我尝试了 catchError 而不是 try..catch ,但仍然没有捕获到构建失败。
jenkins - 将 url 指向构建的最新详细信息页面
我尝试在我们的部门楼层设置一个公共展示,以展示 Jenkins 维护项目的当前状态。因此,我正在循环浏览 Jenkins 网页会话,例如 Blue Ocean Pipeline 概述或特定管道的详细构建历史。
蓝海管道建设历史
此外,我想显示管道最后构建步骤的详细页面。
构建管道的详细信息
不幸的是,被调用的 url 使用了我在脚本方面没有的内部版本号。Blue Ocean 中是否有办法根据内部版本号调用最后一个详细的构建页面。* 而不是.../blue/organizations/jenkins/Playground_RTM/detail/Playground_RTM/112/pipeline * 类似的东西.../blue/organizations/jenkins/Playground_RTM/detail/Playground_RTM/last/pipeline
有任何想法吗?
jenkins - 有没有办法告诉 Blue Ocean 构建描述是 html?
我们通常从使用 Freestyle 切换到管道项目,其中一部分是定期使用 Blue Ocean。对于经典视图,我们生成指向返回的 html 作业描述,例如,在我们使用的 gitlab 服务器中合并请求。Blue Ocean 上的相同构建描述被视为文本,几乎没有用。
有没有办法告诉 Blue Ocean 将构建描述视为 html 或类似的?
jenkins - 获取在 blueocean UI 中停止 jenkins 管道的用户
我有一个 Jenkins 多分支管道,我正在使用 Jenkinsfile 进行 CI 流。现在在我的 Jenkinsfile 中,我想获取在 Jenkins Blueocean UI 中停止管道的用户。
我已经尝试过使用它:
但结果是:
被系统中止
在这种情况下如何获得用户?
jenkins - Jenkins 蓝海更改 github 访问令牌
詹金斯蓝海非常酷的持续集成工具,但我遇到了以下问题:
在主页上,按照要求,我插入了我的GitHub access token
在那之后,我意识到那是来自另一家公司的不正确令牌。
现在我想更改为另一个令牌,但没有选择这样做。我总是得到以下屏幕而无法更改密钥。
我发现如果我从GiHub 令牌 页面中删除了令牌,我可以在上面描述的页面中插入新的令牌。但是现在无法删除该令牌。我需要从Jenkins UI解决问题。
任何想法如何改变?