问题标签 [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.

0 投票
1 回答
889 浏览

jenkins - Jenkins 主动选择插件和 scriptler 插件

我看到 Jenkins ActiveChoice插件和Scriptler插件都被弃用了。我知道如何下载它们。
我的问题是 Active Choice 参数的替代方案是什么?
在 Jenkins 中使用 Scriptler 的替代方法是什么?
谢谢,尼尔

0 投票
1 回答
1553 浏览

jenkins - 通过脚本从 Jenkinsnodes 获取工作空间目录的大小

我想从我的 Jenkinsnodes 打印出目录的大小

我的脚本:

但是使用这个脚本,我得到大小为“0”(如果 dir 为空)或“4096”的大小为 28mb 的 dir。

我尝试使用 File

但在这里我得到了错误:

因为主节点是 Linux 服务器,而某些节点是 Windows 服务器,这会创建错误的文件位置。

是否有解决方案以 mb 为所有节点显示正确的 dir 大小?

0 投票
1 回答
376 浏览

jenkins - 在 Jenkins 声明式管道中实现我自己的“步骤”变体

我想知道是否可以steps在 Jenkins 声明式管道中创建我自己的变体,所以我可以说:

我正在寻找的是一种编写步骤的优雅方式,即使它们失败也不会导致构建失败。

0 投票
9 回答
32516 浏览

jenkins - 如何获取分配有标签的所有 Jenkins 节点的列表,包括主节点?

我正在创建一个 Jenkins 管道作业,我需要在标有特定标签的所有节点上运行一个作业。

因此,我试图获取分配有特定标签的节点名称列表。(有了一个节点,我可以得到标签getAssignedLabels()

中的nodes-listjenkins.model.Jenkins.instance.nodes似乎不包含我需要在搜索中包含的主节点。

我目前的解决方案是迭代jenkins.model.Jenkins.instance.computers并使用getNode()- 方法来获取节点。这可行,但在 Jenkins 的 javadoc 中,我正在阅读此列表可能不是最新的。

从长远来看,我会(动态地)添加云节点,我担心那时我将无法使用computers

获取所有当前节点列表的正确方法是什么?

这就是我现在正在做的事情:

0 投票
1 回答
2066 浏览

jenkins - 可编辑电子邮件通知默认内容中的 ${build.result}

我正在尝试在可编辑的电子邮件通知默认内容中打印 ${build.result}。
我收到内容为 ${build.result} 的电子邮件,而不是打印实际结果“SUCCESS”。

如果我遗漏了什么,任何人都可以在这里提出建议。

0 投票
1 回答
804 浏览

jenkins - Groovy 脚本在 Jenkins 中向多作业添加新阶段作业

对于 jenkins 中已经可用的多作业,需要使用 Groovy Scripting 添加新的阶段作业。我编写了以下 groovy 代码,它添加了一个已经存在的作业 p25_deploy-1。
此代码正在创建多作业,但阶段作业未在 Jenkins UI 中显示为映射。好像我在哪里看到它config.xml,除了标签之外,它按预期正确创建<killPhaseOnJobResultCondition>。不确定为什么阶段作业没有正确映射?

任何帮助将不胜感激。尝试了很多方法,但无法找出脚本的问题。

我们可以使用 DSL 来创建,但我希望它在 Groovy Scripting 中完成,此外还要修改现有的工作。

块引用

0 投票
1 回答
1349 浏览

jenkins - Groovy:在步骤中找不到这样的 DSL 方法“ansible”

我们有这个用于 jenkins 的复杂 groovy 脚本,看起来像

我们得到的是

它似乎发生在run_stages函数中

关于我做错了什么的任何意见?谢谢!

0 投票
2 回答
547 浏览

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

0 投票
1 回答
1134 浏览

jenkins - 通过 Jenkins 和 bat 命令执行 SQL*Plus 脚本

在我的 Jenkins Pipeline 脚本中,我有一个名为 orderedScripts 的映射,其中包含整数键 (1-11),每个键的值都是列表。列表中的项目是 sql 脚本的绝对路径。

我遍历地图,然后遍历每个键的列表,通过 sqlplus 执行列表中的项目。下面的代码片段,<credentials>使用的数据库凭据在哪里。

但是,当 Jenkins 运行作业时,我收到以下 Serilizable 错误:

如果我用普通的 println() 打印出 ${item} 变量,那么它会显示正确的脚本路径。所以循环正在工作,并确定要运行的正确脚本,Jenkins 只是不会通过 bat 命令运行它们。如果我打印出脚本中的路径,然后手动将其复制并粘贴到 sqlplus 会话中,它将按预期执行。

据我所知,这似乎是我在 bat 命令中引用 ${item} 变量的方式。但我无法让它执行,引用不同的变体。任何人以前都经历过这种情况,或者知道我做错了什么?

0 投票
2 回答
3567 浏览

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.