问题标签 [jenkins-groovy]
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 主动选择插件和 scriptler 插件
我看到 Jenkins ActiveChoice插件和Scriptler插件都被弃用了。我知道如何下载它们。
我的问题是 Active Choice 参数的替代方案是什么?
在 Jenkins 中使用 Scriptler 的替代方法是什么?
谢谢,尼尔
jenkins - 通过脚本从 Jenkinsnodes 获取工作空间目录的大小
我想从我的 Jenkinsnodes 打印出目录的大小
我的脚本:
但是使用这个脚本,我得到大小为“0”(如果 dir 为空)或“4096”的大小为 28mb 的 dir。
我尝试使用 File
但在这里我得到了错误:
因为主节点是 Linux 服务器,而某些节点是 Windows 服务器,这会创建错误的文件位置。
是否有解决方案以 mb 为所有节点显示正确的 dir 大小?
jenkins - 在 Jenkins 声明式管道中实现我自己的“步骤”变体
我想知道是否可以steps
在 Jenkins 声明式管道中创建我自己的变体,所以我可以说:
我正在寻找的是一种编写步骤的优雅方式,即使它们失败也不会导致构建失败。
jenkins - 如何获取分配有标签的所有 Jenkins 节点的列表,包括主节点?
我正在创建一个 Jenkins 管道作业,我需要在标有特定标签的所有节点上运行一个作业。
因此,我试图获取分配有特定标签的节点名称列表。(有了一个节点,我可以得到标签getAssignedLabels()
)
中的nodes
-listjenkins.model.Jenkins.instance.nodes
似乎不包含我需要在搜索中包含的主节点。
我目前的解决方案是迭代jenkins.model.Jenkins.instance.computers
并使用getNode()
- 方法来获取节点。这可行,但在 Jenkins 的 javadoc 中,我正在阅读此列表可能不是最新的。
从长远来看,我会(动态地)添加云节点,我担心那时我将无法使用computers
。
获取所有当前节点列表的正确方法是什么?
这就是我现在正在做的事情:
jenkins - 可编辑电子邮件通知默认内容中的 ${build.result}
我正在尝试在可编辑的电子邮件通知默认内容中打印 ${build.result}。
我收到内容为 ${build.result} 的电子邮件,而不是打印实际结果“SUCCESS”。
如果我遗漏了什么,任何人都可以在这里提出建议。
jenkins - Groovy 脚本在 Jenkins 中向多作业添加新阶段作业
对于 jenkins 中已经可用的多作业,需要使用 Groovy Scripting 添加新的阶段作业。我编写了以下 groovy 代码,它添加了一个已经存在的作业 p25_deploy-1。
此代码正在创建多作业,但阶段作业未在 Jenkins UI 中显示为映射。好像我在哪里看到它config.xml
,除了标签之外,它按预期正确创建<killPhaseOnJobResultCondition>
。不确定为什么阶段作业没有正确映射?
任何帮助将不胜感激。尝试了很多方法,但无法找出脚本的问题。
我们可以使用 DSL 来创建,但我希望它在 Groovy Scripting 中完成,此外还要修改现有的工作。
块引用
jenkins - Groovy:在步骤中找不到这样的 DSL 方法“ansible”
我们有这个用于 jenkins 的复杂 groovy 脚本,看起来像
我们得到的是
它似乎发生在run_stages
函数中
关于我做错了什么的任何意见?谢谢!
jenkins - Jenkins ec2 插件 ssh 密钥
我有一个 groovy 脚本,它将使用所需的数据配置 AWS ec2 插件。我能够配置所有其他输入。我需要在同一区域提供私钥,有什么方法可以在 grrovy 脚本中生成和配置此密钥。遵循以下文档和模板。 https://gist.github.com/vrivellino/97954495938e38421ba4504049fd44ea https://github.com/jenkinsci/ec2-plugin/blob/master/src/main/java/hudson/plugins/ec2/SlaveTemplate.java
jenkins - 通过 Jenkins 和 bat 命令执行 SQL*Plus 脚本
在我的 Jenkins Pipeline 脚本中,我有一个名为 orderedScripts 的映射,其中包含整数键 (1-11),每个键的值都是列表。列表中的项目是 sql 脚本的绝对路径。
我遍历地图,然后遍历每个键的列表,通过 sqlplus 执行列表中的项目。下面的代码片段,<credentials>
使用的数据库凭据在哪里。
但是,当 Jenkins 运行作业时,我收到以下 Serilizable 错误:
如果我用普通的 println() 打印出 ${item} 变量,那么它会显示正确的脚本路径。所以循环正在工作,并确定要运行的正确脚本,Jenkins 只是不会通过 bat 命令运行它们。如果我打印出脚本中的路径,然后手动将其复制并粘贴到 sqlplus 会话中,它将按预期执行。
据我所知,这似乎是我在 bat 命令中引用 ${item} 变量的方式。但我无法让它执行,引用不同的变体。任何人以前都经历过这种情况,或者知道我做错了什么?
jenkins - Adding Suppress automatic scm triggering except for named branches in Jenkins Job DSL?
How do I add default Suppress automatic scm triggering except for named branch - development in Job DSL?
I tried docs https://jenkinsci.github.io/job-dsl-plugin/#path/multibranchPipelineJob . It doesn't say much. Seems like it is not supported.
So I guess my only way is adding custom properties directly to XML via configure block.
What I want:
What I've tried:
This is useful, but keeps crashing http://job-dsl.herokuapp.com/ This is not so useful https://github.com/jenkinsci/job-dsl-plugin/blob/master/docs/The-Configure-Block.md
I have no idea what I'm doing and the docs, manuals and tutorials are not helpful at all.
EDIT:
Now I have this. It works, sort of...
I'm able to generate the job, but Jenkins throws an error when I try to resave the job. The output XML is somehow different.
}
As you might have noticed, it is extremely ugly. Hopefully someone will fix the plugin in the future.