问题标签 [jenkins-declarative-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.
jenkins - 在 Jenkins 中,如何在声明式管道中使用并行测试执行器(splitTests)?
我在 Jenkins 中使用声明式管道,我想并行化测试。显而易见的选择似乎是使用并行测试执行器 (splitTests),但我找不到示例或找出在声明性管道中使用的语法。
jenkins - 在声明性 jenkins 管道中 - 我可以动态设置代理标签吗?
有没有办法动态设置代理标签而不是纯字符串?
这项工作有2个阶段:
- 第一阶段 - 始终在“主”代理上运行。在这个阶段结束时,我将知道第二阶段应该在哪个代理上运行。
- 第二阶段 - 应该在第一阶段决定的代理上运行。
我的(不工作)尝试如下所示:
第一个回声工作正常并打印“my_node_label”。第二阶段无法在标记为“my_node_label”的代理上运行,控制台打印:
没有标签为“null”的节点</p>
也许它可以帮助 - 如果我只是将“$ {env}”放在标签字段中,我可以看到这是一个 java 类,因为它打印:
没有标签为“org.jenkinsci.plugins.workflow.cps.EnvActionImpl@79c0ce06”的节点</p>
jenkins - 如何在声明性 Jenkinsfile 中定义并行阶段?
我正在使用 Jenkins 2.73.1,我正在尝试使用声明性 Jenkins 文件定义并行阶段,如下所示:
不幸的是,这会导致以下编译错误。
然后我在 Stackoverflow 上找到了以下问题,并尝试应用他们的解决方案,但对我没有任何帮助。
有人可以告诉我是否可以并行运行阶段或步骤,以及如何使用 Jenkins 2.73.1(及更高版本)实现它?
jenkins - Jenkins 2 声明性管道 - 是否可以在节点(代理任何)内运行所有阶段,但其中一些在没有它的情况下运行?
我有一个 CD 管道,在某些阶段需要用户确认,所以我想在管道等待用户输入时释放服务器资源。
您可以在上面看到我有一个全局agent any
但在我添加的用户验证阶段agent none
。
有人可以确认这是我想要的(没有代理/节点正在等待用户输入)吗?我看不到如何验证它,执行日志中没有什么不同...
如果没有,我该怎么做?
jenkins - 如何使用 jenkins 声明式管道新语法测试 sh 脚本返回状态
使用新的 jenkins 声明性管道语法,我想测试 sh 脚本执行的返回状态。是否可以不使用脚本步骤?
脚本管道(工作):
声明式管道(尝试):
日志:java.lang.ClassCastException:主体返回值 null 不是布尔值
jenkins - 我如何使用声明性语法配置由 Jenkins 多分支管道创建的作业?
例如,我想使用声明性语法配置通知插件以在多分支管道中使用。有为此目的的代码段生成器为我提供了如下代码:
我相信它是用Scripted Pipeline语法编写的。如何使用声明式管道语法将其集成到我的项目中?
jenkins - 如何在没有管理权限的情况下确定语法版本?
如果我没有列出 Jenkins 服务器中的插件所需的权限,我如何确定在编写 Jenkinsfile 时可以使用哪个版本的声明性管道语法?
我正在尝试使用声明性语法编写 Jenkinsfile,但无法判断我遇到的错误是否是因为我误解了文档,或者我是否引用了比包装盒上可用的更新版本的文档。
我可以访问 Jenkins 服务器来配置和运行构建。但是,我对 Jenkins 本身没有管理或脚本权限,因此没有关于如何获取包含名称和版本对的已安装 jenkins 插件列表的选项?为我工作。
也许有一种方法可以让我的 Jenkinsfile 在执行过程中回显相关版本信息?或者一些简单的语法测试(基于通过/失败)可以证明哪个语法版本可用?
jenkins - 在并行阶段之前的詹金斯声明性管道中创建顺序步骤
我想按照图片中的说明设置并行阶段
在这种情况下,设置非常繁重,因此必须在 G1、G2 和 G3 的并行组开始之前完成一次。同时,stage : Initial Checks 有 2 个我想并行运行的项目。
这在声明式管道中是否可行,还是我必须求助于脚本?
我无法在文档中看到它的工作能力
你有没有遇到过类似的情况,你的解决方案是怎样的?
Ofcourse 1 解决方案是将设置和清理作为每个组的一部分,但就像我说的那样,它非常密集,我只会在图表指示的内容不可行的情况下接受它。
解决方案 2
jenkins - 成功退出声明性 Jenkins 管道的干净方式?
我正在寻找以成功状态退出声明性 Jenkins 管道的最干净的方法。虽然使用error step以错误退出非常简洁,但我找不到任何相同的方式以成功代码退出。例如:
例如,使用脚本构建,我可以使用以下代码实现它:
虽然我知道向我的声明性管道添加脚本步骤的能力,但我希望找到一种更清洁的方法。
另一种方法可能是抛出一个错误并在某个地方捕获它,但它又很混乱。
有没有更清洁的方法?