问题标签 [jenkins-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 投票
3 回答
9713 浏览

jenkins - Jenkins:在两次作业运行之间存储变量的好方法是什么?

我有一个时间触发的作业,它需要检索存储在该作业的先前运行中的某些值。

有没有办法在 Jenkins 环境中的作业运行之间存储值?

例如,我可以在 shell 脚本操作中编写类似 next 的内容:

但是有没有更可靠的方法呢?

0 投票
7 回答
64652 浏览

jenkins - 在多个同时上游作业成功后,如何让 Jenkins 作业开始?

为了尽可能获得最快的反馈,我们有时希望 Jenkins 作业并行运行。Jenkins 能够在作业完成时启动多个下游作业(或“分叉”管道)。但是,詹金斯似乎没有任何方法可以使下游工作仅在该分叉的所有分支成功开始(或将分叉“重新组合”在一起)时才开始。

Jenkins 有一个“在构建其他项目后构建”按钮,但我将其解释为“在任何上游作业完成时开始此作业”(而不是“在所有上游作业成功时开始此作业”)。

这是我正在谈论的内容的可视化。有谁知道是否存在插件来做我所追求的? 构建管道


编辑:

当我在 2012 年最初发布这个问题时,Jason 的答案(加入和升级的构建插件)是最好的,也是我采用的解决方案。

但是,dnozay 的答案(构建流程插件)在这个问题之后一年左右变得流行,这是一个更好的答案。对于它的价值,如果人们今天问我这个问题,我现在建议改为。

0 投票
10 回答
53704 浏览

jenkins - 在所有节点上同时运行 Jenkins 作业

TLDR:我希望能够在 Jenkins 管道中的多个节点上同时运行作业。[例如 - 基于 aws 在节点 dev、test & staging 节点上构建应用程序 x ]

我有一大组具有相同标签的节点。我希望能够在 Jenkins 中运行一个作业,该作业在具有相同标签的所有节点上执行并且同时执行。

我在Jenkins中看到了使用矩阵配置选项的建议,但我只能想到一个轴(标签组)。当我尝试运行该作业时,它似乎只执行一次而不是 300 次(该标签组中的每个节点执行 1 次)。

我的另一个轴应该是什么?或者...有一些插件可以做到这一点吗?我曾尝试过 NodeLabel 参数插件,并选择“在所有可用的在线节点上运行”,但它似乎并没有同时运行这些作业。

0 投票
1 回答
12931 浏览

jenkins - 在 Jenkins 上重新运行失败测试的插件

Jenkins CI 是否有一个插件可以仅重新运行失败的测试,我可以使用重新运行配置文件和黄瓜耙任务来完成它,但是已经有插件了吗?

还知道在失败时运行整个构建的 Naginator 插件

https://wiki.jenkins-ci.org/display/JENKINS/Naginator+Plugin

但我只想运行以前版本中失败的测试

0 投票
4 回答
275178 浏览

shell - 如何在 Jenkinsfile 中执行 Shell 脚本?

我保留了一个名为urltest.sh in的 shell 脚本文件,/var/lib/jenkins并从 build.xml 执行该文件jenkins

当我执行构建时,它失败了。

控制台输出如下:

我很困惑我应该在哪里保存 shell 脚本文件以便执行它。

0 投票
1 回答
2623 浏览

visual-studio - Jenkins Visual Studio x64 提示符(用于 CMake 和 Ninja)

我有一个使用 Visual Studio 2012 的 Jenkins 从站,并且想为 x64 构建。我需要的是在 Windows 开始菜单中运行工具提示链接时得到的提示环境。人们建议这样做(在 Jenkins Windows Batch 提示中):

但这还不够。PATH,LIB和环境变量之间存在细微差别LIBPATH:其中的路径仅指向 x32 路径,例如指向

代替

事实上,我正在尝试使用来自 CMake 的 Ninja 生成器进行构建,其中构建配置由提示环境确定。

0 投票
3 回答
7039 浏览

jenkins - Groovy .each 只迭代一次

该脚本没有遍​​历“模块”数组的所有值。

这是运行的结果。该数组显示 4 个元素,但 .each black 中的代码只执行一次。

运行:打印消息 [Module@71f09325, Module@e1ddb41, Module@7069a674, Module@1f68f952]
运行:打印消息 MODULE NAME ::::: puppetlabs-ntp
运行:打印消息安装非自定义
运行:工作流程结束
完成:成功

0 投票
10 回答
228856 浏览

jenkins - 如何访问参数化构建中的参数?

您如何访问parameters“工作流程”Jenkins 作业的“此构建已参数化”部分中的设置?

测试用例

  1. 创建工作流作业。
  2. 启用“此构建已参数化”。
  3. foo添加一个具有默认值的 STRING PARAMETER bar text
  4. 将以下代码添加到Workflow Script

    /li>
  5. 运行作业。

结果

DEBUG: parameter foo = null

0 投票
0 回答
1280 浏览

jenkins - 詹金斯:hudson.model.User.current() 返回 SYSTEM

我正在运行以下命令来获取当前登录到 jenkins 的用户。

但是,我得到的结果是“系统”。这是否意味着 jenkins 中的所有构建都以 SYSTEM 用户身份发生。如果是这种情况,下面的方法是获取触发构建的用户的用户 ID 的唯一方法吗?

实际上,我正在尝试在 jenkins 中编辑 buildCaption.jelly,以便只有触发构建的用户才能取消构建。而且我被困在一个点,我需要获取当前登录用户的用户 ID,以便我可以检查他是否与开始构建的用户相同。任何想法,请提出建议。提前致谢。

0 投票
9 回答
12463 浏览

jenkins - 如何在一个或多个 SCM 的 Jenkins 工作流程中找到罪魁祸首或提交者

从一个或多个 SCM 签出时(通过 checkout() 或其他 SCM 步骤,如 git/svn),是否可以访问有关 Jenkins 工作流作业的提交者和/或罪魁祸首的信息?

目的是使用该信息通知提交者和/或罪魁祸首有关作业状态的信息,例如在一个mail步骤中。

工作流定义的一个小例子:

在运行 SCM 步骤后如何调整它以获取提交者的集合?

编辑:我目前正在使用 Jenkins 版本 1.596.2 和 Workflow: Aggregator 版本 1.6,这似乎是 JENKINS-24141中的一个未解决问题