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

jenkins - Jenkins Pipeline Plugin:执行shell并解析输出

我正在使用 Jenkins Pipeline 插件来执行 iOS Checkout-Build-Test-Deploy 管道。

一个步骤涉及检查 iDevice 是否实际连接(否则将不会执行其余步骤)。

我想执行一个 shell 命令idevice_id -l(来自libimobiledevice),它将打印出连接设备的设备 ID,或者如果没有连接则失败。

所以我设想的步骤是:

  • 执行命令sh "/usr/local/bin/idevice_id -l"
  • 以某种方式解析输出
  • 如果此命令不返回任何内容,则失败。

我已经阅读了大部分官方文档,但还是一片空白。如何解析sh步骤的输出?如果我以错误的方式处理此问题,欢迎提出任何其他建议。

0 投票
3 回答
70412 浏览

jenkins - Jenkins Workflow Checkout 访问 BRANCH_NAME 和 GIT_COMMIT

我似乎无法从 Jenkins Workflow Checkout 步骤中提取 $GIT_COMMIT 和 $BRANCH_NAME 。

我希望能够将此信息发送到我的 Gradle 脚本,以便将其传递到静态分析等外部资源。

目前我尝试运行这个:

我想实现以下或类似的目标:

或者也许这也可以:

我确实发现了以下似乎已解决但在 1.15 版中不起作用的问题:

https://issues.jenkins-ci.org/browse/JENKINS-30252

任何人都知道如何解决这个问题,或者如果有一个我找不到的变量?

0 投票
5 回答
343353 浏览

jenkins - 如何使用 GitHub Org Plugin 从 jenkins 管道 (jenkinsfile) 触发另一个作业?

如何从内部触发另一个作业的构建Jenkinsfile

我假设这项工作是同一个github 组织下的另一个存储库,一个已经有自己的 Jenkins 文件的存储库。

我还想仅在分支名称为 master 时执行此操作,因为触发任何本地分支的下游构建是没有意义的。

更新:

不过,执行时我得到一个错误

找不到名为 some-downtream-job-name 的参数化作业

我确信这项工作存在于 jenkins 中,并且与当前工作位于同一组织文件夹下。这是另一项有自己的工作Jenkinsfile

请注意,此问题特定于GitHub 组织插件,它会自动为您的 GitHub 组织中的每个存储库和分支创建和维护作业。

0 投票
15 回答
163285 浏览

jenkins - 如何在本地测试对 Jenkinsfile 所做的更改?

在编写 jenkins 管道时,提交每个新更改以查看它是否有效似乎非常不方便。

有没有办法在不提交代码的情况下在本地执行这些?

0 投票
2 回答
3066 浏览

jenkins - 如何以编程方式触发通过 github-organization 管理的特定 jenkins 构建?

我正在使用 github-organization 插件从 github 管理 jenkins 作业,但我发现 Jenkins API 不报告这些构建。

事实上,API 将整个组织列为一项工作。

如何使用 API 构建特定的存储库和分支?

需要明确的是,我正在寻找一些 groovy 代码添加到Jenkinsfile

现在,问题是 Jenkins 将整个组织视为一个单一的工作!

如果我使用 Jenkins API 来检索作业,它将只返回组织,而不是其中的所有存储库和作业。

我怀疑那是因为这个插件的实现方式,我想我需要提供一些额外的参数来指定我想在组织内部构建哪个存储库和分支......建立一个组织没有多大意义。

0 投票
1 回答
168 浏览

jenkins - 无法启动 Jenkins 服务器

无法启动詹金斯。尝试重新启动但不起作用时给出以下日志 -

请帮忙!

0 投票
4 回答
20483 浏览

jenkins - 如何从 Jenkinsfile 中标记当前的 git 变更集?

我想标记当前的 git 变更集并从 Jenkinsfile 中推送标记。如果标签已经存在,则必须替换它。

我想使用这个逻辑来标记通过snapshot标签传递的构建,这将是一个移动标签。

我怎样才能做到这一点?

0 投票
2 回答
1843 浏览

groovy - 如何告诉 Jenkinsfile 使用 ssh 而不是 http 作为签出代码?

似乎使用 Jenkinsfile 的代码签出正在使用 http 作为远程源,我们确实想使用 ssh。

这将输出一个 https 源而不是 ssh 源。该作业是使用 github-organization-pipeline 插件配置的,因此无法从 jenkins 中的作业配置中控制来源。

0 投票
5 回答
19118 浏览

groovy - 如何列出 Jenkinsfile 中已经可用的变量?

我正在尝试从内部使用一些变量,例如存储库名称、分支名称、内部版本号……,Jenkinsfile但我无法找到任何有关此的文档。

有没有办法打印它们以便我可以看到可用的内容?如何?

我认为这可能与在 Groovy 对象中打印出变量和值有关

更新

我试图包含上面的代码,但现在执行失败了

0 投票
2 回答
615 浏览

jenkins - 在 jenkins-workflow 中更改从站

我正在配置 Jenkins 工作流,要求使用 Linux(server1)作为工作流的编译部分,而不是使用 windows(server2)进行测试,因为测试工具与 Linux 不兼容,测试完成后需要切换回相同的 Linux( server1) 继续其余的工作流程。如果不可能,如何在同一工作流程中切换从属设备,还有其他方法可以实现这一点。欣赏建议!