问题标签 [jenkinsfile]

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 回答
1937 浏览

jenkins - 使用 Jenkinsfile 运行 salt 命令的最佳方法

我最近开始使用Jenkinsfile管道插件,我想知道当测试通过或合并拉取请求时,让我的盐主服务器运行命令的最佳方法是什么。

有这个jenkinsci/saltstack-plugin效果很好(不处理彩色输出,但没关系)。

  1. 一种。在 a 内运行盐步骤会更好Jenkinsfile吗?
    湾。与上述插件交互的语法是什么?

  2. 或者我应该将我的 Salt master(位于不同的服务器上)设置为 jenkins 从节点,并直接在 salt master 上执行命令。

此处草稿:

我认为选项 2 会起作用,但我还没有将 master 设置为 e jenkins slave。

0 投票
1 回答
1095 浏览

jenkins - 从 Jenkinsfile 管道访问 JIRA

在我的 Jenkinsfile 中,我想向 JIRA 查询一些特定数据,例如已发布版本的列表。此外,我想为特定版本创建票证。

我知道的 JIRA 插件,我们可以做一些事情,比如发布版本或更新问题,但不是我提到的事情。是否可以从 Groovy 脚本中调用 JIRA REST API 并以某种方式使用 Jenkins 配置中提供的 JIRA 凭据来解决问题?

0 投票
3 回答
7069 浏览

jenkins-pipeline - 将工件或字符串传递给 Jenkins Pipeline 中的上游作业

目标

我正在尝试使用 GitHub 组织插件和 jenkins 管道来编排依赖链。

由于我正在构建的产品具有许多共享依赖项,因此我使用 nuget 包来管理依赖项版本控制和更新。

但是,我无法为进行编排的项目获取必要的工件/信息。

战略

在 SCM 更改时,任何上游共享库都应该构建一个 nuget 包并协调任何需要新引用的下游构建:

  1. 我在每个上游项目中对下游编排进行硬编码。 因此,如果构建了 A,则依赖于 A 的 B 和 C 将使用来自 A 的最新工件构建。之后,依赖于 B 和 C 的 D 以及依赖于 A 和 C 的 E 将使用来自 A 的最新工件构建A、B、C 根据需要。等等。 这些都将由 A 的 Jenkinsfile 分阶段触发,因为依赖项是使用“Build Job: Jobname”语法构建的。我找不到一个解决方案,我可以在每个步骤中将编排传递到下游,因为依赖项在下游发散和收敛,并且我不想触发对上游项目的不同引用的同一下游项目的多个构建。
  2. 我可以将父项目的工件信息传递给任何下游作业,但我面临的问题是,父项目没有任何下游工件的程序集版本信息(需要在下游进一步编排作业)。Stash/Unstash 似乎没有任何跨作业功能,并且归档/取消归档已被弃用。

TLDR: 我需要一种将字符串或文本文件上游传递到作业中间执行(来自多个下游作业)的方法,或者我需要一种用于具有共享下游依赖项的多个下游作业的方法,以协调并共同将信息传递给下游作业(仅触发一次)。

谢谢!

0 投票
0 回答
1573 浏览

jenkins - 使用管道在运行时设置构建参数值

我正在使用带有 a 的私有 Github 存储库Jenkinsfile来构建项目。我实际上想做两个单独的构建,一个用于develop在推送分支时构建,另一个用于qa每晚构建。我已经建立了一个 Github 组织,因为这似乎是使用凭据签出存储库并执行构建的唯一方法。

我的 Jenkinsfile 看起来像:

这一切都很好,但我需要能够在运行时设置环境变量(构建 url)gulp,它们的值将取决于我想要构建的环境。我要上传到的s3存储桶也取决于环境。

当我设置properties上述内容,然后在我的 Github 组织下找到构建作业时,我可以看到它正在接受构建参数。但是,我似乎没有办法在外部设置这些。我只能将它们与“使用参数构建”一起使用。如果我想每次都手动运行构建,这会很好,但我希望它每晚运行。由于两种不同的环境需要不同的构建参数值,所以我不能将它们设置为默认值。

有什么方法可以让我使用 Jenkins 管道提前设置构建参数值?

0 投票
2 回答
50397 浏览

jenkins - 如何在詹金斯管道构建日志中禁用命令输出

我正在使用 Jenkinsfile 编写管道脚本。

有什么方法可以禁用在构建日志中打印已执行的 shell 命令?

这只是詹金斯管道的一个简单示例:

在控制台日志中产生以下输出:

基本上我想禁用命令本身的打印。

0 投票
2 回答
8356 浏览

jenkins - 如何将 Jenkins 管道脚本的部分提取到类中?

我想将我的 Jenkins 流水线脚本重构为类以提高可读性和重用性。

问题是我这样做时会遇到异常。让我们看一个简单的例子:

当我跑步时

一切安好

但是当我将它提取到一个类中时:

我得到一个例外:

将管道代码提取到类中的正确方法是什么?

0 投票
2 回答
1771 浏览

java - 无法为 Jenkins 安装 SSH 代理插件

我正在尝试在 Windows 从站上使用 Jenkins 的 SSH 代理插件:

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

我在工作中收到的错误是:

java.lang.RuntimeException: [ssh-agent] 找不到合适的 ssh-agent 提供程序。

说明说 Apache Tomcat Native Libraries 需要安装在 Windows Slave 上,但没有说明如何安装和/或引用它们。

0 投票
0 回答
232 浏览

jenkins - JenkinsFile buildWithParameters URL,我的财产在哪里?

我一直在使用 JenkinsFile 管道作为代码,但还没有为以下情况找到解决方案。

我们从 GIT 存储库触发构建,URL 包含如下参数:

http://localhost:8080/job/Pipeline-Pull-Request-Composer/buildWithParameters?token=secret_token&git_ref_change= ${PULL_REQUEST_FROM_ID}&pull_request_url=${PULL_REQUEST_URL}

现在,我的问题是这些参数在管道中不可用,除非我定义了一个同名的作业参数。

如何配置管道以从 jenkins env 变量/属性中的 URL 读取参数?

谢谢你

0 投票
1 回答
2757 浏览

docker - docker容器内带有writeFile的Jenkinsfile?

如果我有一个 Jenkinsfile

该文件被写入 Jenkins 代理的工作区,而不是在容器内,对吗?有没有一种理智的方法可以在容器中写入文件?

我在网上能找到的最接近的东西是https://issues.jenkins-ci.org/browse/JENKINS-33510。我想我可以使用sh带有 here-doc 的步骤,但这听起来很丑陋。

0 投票
2 回答
248 浏览

jenkins - Paramertized Build - Jenkins Pipeline

Hoping someone can point me in the right direction.

I have just started to look at the Jenkins pipeline and am trying to work out how to trigger a parameterized build for a job that already exists using the Jenkinsfile

In my Jenkinsfile i have

I need to be able to pass a branch name from the Jenkinsfile config to the job that is running? If i am misunderstanding anything then please let me know

Thanks