问题标签 [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.
jenkins - 使用 Jenkinsfile 运行 salt 命令的最佳方法
我最近开始使用Jenkinsfile
管道插件,我想知道当测试通过或合并拉取请求时,让我的盐主服务器运行命令的最佳方法是什么。
有这个jenkinsci/saltstack-plugin效果很好(不处理彩色输出,但没关系)。
一种。在 a 内运行盐步骤会更好
Jenkinsfile
吗?
湾。与上述插件交互的语法是什么?或者我应该将我的 Salt master(位于不同的服务器上)设置为 jenkins 从节点,并直接在 salt master 上执行命令。
此处草稿:
我认为选项 2 会起作用,但我还没有将 master 设置为 e jenkins slave。
jenkins - 从 Jenkinsfile 管道访问 JIRA
在我的 Jenkinsfile 中,我想向 JIRA 查询一些特定数据,例如已发布版本的列表。此外,我想为特定版本创建票证。
我知道的 JIRA 插件,我们可以做一些事情,比如发布版本或更新问题,但不是我提到的事情。是否可以从 Groovy 脚本中调用 JIRA REST API 并以某种方式使用 Jenkins 配置中提供的 JIRA 凭据来解决问题?
jenkins-pipeline - 将工件或字符串传递给 Jenkins Pipeline 中的上游作业
目标
我正在尝试使用 GitHub 组织插件和 jenkins 管道来编排依赖链。
由于我正在构建的产品具有许多共享依赖项,因此我使用 nuget 包来管理依赖项版本控制和更新。
但是,我无法为进行编排的项目获取必要的工件/信息。
战略
在 SCM 更改时,任何上游共享库都应该构建一个 nuget 包并协调任何需要新引用的下游构建:
- 我在每个上游项目中对下游编排进行硬编码。 因此,如果构建了 A,则依赖于 A 的 B 和 C 将使用来自 A 的最新工件构建。之后,依赖于 B 和 C 的 D 以及依赖于 A 和 C 的 E 将使用来自 A 的最新工件构建A、B、C 根据需要。等等。 这些都将由 A 的 Jenkinsfile 分阶段触发,因为依赖项是使用“Build Job: Jobname”语法构建的。我找不到一个解决方案,我可以在每个步骤中将编排传递到下游,因为依赖项在下游发散和收敛,并且我不想触发对上游项目的不同引用的同一下游项目的多个构建。
- 我可以将父项目的工件信息传递给任何下游作业,但我面临的问题是,父项目没有任何下游工件的程序集版本信息(需要在下游进一步编排作业)。Stash/Unstash 似乎没有任何跨作业功能,并且归档/取消归档已被弃用。
TLDR: 我需要一种将字符串或文本文件上游传递到作业中间执行(来自多个下游作业)的方法,或者我需要一种用于具有共享下游依赖项的多个下游作业的方法,以协调并共同将信息传递给下游作业(仅触发一次)。
谢谢!
jenkins - 使用管道在运行时设置构建参数值
我正在使用带有 a 的私有 Github 存储库Jenkinsfile
来构建项目。我实际上想做两个单独的构建,一个用于develop
在推送分支时构建,另一个用于qa
每晚构建。我已经建立了一个 Github 组织,因为这似乎是使用凭据签出存储库并执行构建的唯一方法。
我的 Jenkinsfile 看起来像:
这一切都很好,但我需要能够在运行时设置环境变量(构建 url)gulp
,它们的值将取决于我想要构建的环境。我要上传到的s3
存储桶也取决于环境。
当我设置properties
上述内容,然后在我的 Github 组织下找到构建作业时,我可以看到它正在接受构建参数。但是,我似乎没有办法在外部设置这些。我只能将它们与“使用参数构建”一起使用。如果我想每次都手动运行构建,这会很好,但我希望它每晚运行。由于两种不同的环境需要不同的构建参数值,所以我不能将它们设置为默认值。
有什么方法可以让我使用 Jenkins 管道提前设置构建参数值?
jenkins - 如何在詹金斯管道构建日志中禁用命令输出
我正在使用 Jenkinsfile 编写管道脚本。
有什么方法可以禁用在构建日志中打印已执行的 shell 命令?
这只是詹金斯管道的一个简单示例:
在控制台日志中产生以下输出:
基本上我想禁用命令本身的打印。
jenkins - 如何将 Jenkins 管道脚本的部分提取到类中?
我想将我的 Jenkins 流水线脚本重构为类以提高可读性和重用性。
问题是我这样做时会遇到异常。让我们看一个简单的例子:
当我跑步时
一切安好
但是当我将它提取到一个类中时:
我得到一个例外:
将管道代码提取到类中的正确方法是什么?
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 上,但没有说明如何安装和/或引用它们。
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 读取参数?
谢谢你
docker - docker容器内带有writeFile的Jenkinsfile?
如果我有一个 Jenkinsfile
该文件被写入 Jenkins 代理的工作区,而不是在容器内,对吗?有没有一种理智的方法可以在容器中写入文件?
我在网上能找到的最接近的东西是https://issues.jenkins-ci.org/browse/JENKINS-33510。我想我可以使用sh
带有 here-doc 的步骤,但这听起来很丑陋。
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