问题标签 [jenkins-shared-libraries]
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-pipeline - 在 groovy 中创建自定义步骤
我正在使用 jenkins 管道并拥有一个共享的全局库。我创建了几个用户可以使用的函数,但是我面临的主要问题是在控制台输出和蓝海中有更好的输出:有没有办法在 groovy 中创建一个命名块(例如在调用 sh 函数时输出包含在里面)?我试着玩这样的阶段:
然而这种方法并没有奏效。我知道您可以通过为 Jenkins 编写插件然后在您的 groovy 脚本中调用该函数来创建自定义步骤,我只是在徘徊,如果有一种方法可以直接在 groovy 中编写这样的东西,比如在我的库中。
还有没有办法让输出静音?
提前感谢大家
jenkins-pipeline - 如何从 Jenkins 共享库运行 vars/script.groovy
我正在尝试从位于从共享库 Jenkins 类调用的 vars 下的 groovy 脚本获取信息,但出现错误。一些信息:
需要- 全局配置文件。类似于管理 Jenkins -> 配置系统 -> 环境变量
目标- 能够在共享库中获取全局值,而无需从 Jenkinsfile 发送参数。
- 我的解决方案- 我尝试使用适用于 Jenkinsfile 但不适用于共享库的“vars/script.groovy”。
文件结构
变量/globals.groovy
shared_library 类
詹金斯文件
所以,我可以看到管道中第一个打印的值,但第二个我得到:
没有这样的属性:类的全局变量:src.org.jenkins.shared_library
jenkins - 如何在 Jenkins 共享库中导入外部类
我试图将非共享库类导入共享库类并收到错误:
文件结构
not_shared_library 类
shared_library 类
詹金斯文件
/jenkins_data/jobs/main_DEV/builds/51/libs/global_utils/src/org/jenkins/shared_library.groovy:8:无法解析类 src.org.jenkins.not_shared_library @ 第 8 行,第 1 列。导入 src.org。 jenkins.not_shared_library @ 第 116 行,第 21 列。 not_shared_lib = new not_shared_library("not_shared_lib") ^
groovy - 无法解析静态方法中的类
我有一个 groovy 类“Utils.groovy”,其中包含方法“makeHttpCall()”。这是该方法的总结版本:
编译器抱怨:
Groovy:在静态范围内找到了明显的变量“javax”,但不引用局部变量、静态字段或类。
但是,如果我使该方法成为非静态方法,它将停止抱怨;
这样它就不会抱怨。为什么编译器会抱怨这个?
请注意,该方法运行没有问题;它作为 Jenkins 共享库的一部分运行。
谢谢!
编辑:使用
import javax.ws.rs.core.HttpHeaders
给
Groovy:无法解析类 javax.ws.rs.core.HttpHeaders
所以编译器无法解析该类,但它是在 Jenkins 中运行时。
jenkins-shared-libraries - 如何从 Jenkinsfile 管道调用带有参数和闭包的 Jenkins 2 共享库?
我想从管道中调用下一个共享库:
[链接] https://github.com/docker/jenkins-pipeline-scripts/blob/master/vars/wrappedNode.groovy
我不知道如何从 Jenkins 2 管道调用和填充 vars 映射和主体闭合。
我的共享库名称是“vars/my_shared_library.groovy”,它们的内容是
Jenkinsfile 内容为:
jenkins - Jenkins 共享库 - 为选项部分创建一个通用函数
我想扩展我们的共享库使用 - 想添加一个包含管道所有选项的函数:
所以在我的管道中,我会有类似的东西
尝试了类似的东西,但它没有用
找不到怎么做...,有可能吗?
jenkins - 在共享库中重构 jenkins post 块
我正在拼命地尝试为我的所有管道重构一个 post 块。我想在每次管道执行后推送一个松弛通知。一个管道的代码如下所示:
我可以轻松地创建要调用的自定义函数或要在 step 块中执行的自定义块,但似乎不可能在 customPost 函数中重构整个 post 块 => 我的自定义块不被接受为管道子项。
有人知道这是否可行吗?
谢谢
jenkins - 如何在从管道共享库继承的 jenkinsfile 中定义其他参数?
我想增加一种扩展 Jenkins 管道中定义的全局参数的可能性。每个调用默认管道的 JenkinsFile 都有默认参数,他可以自己定义参数,如下所示:
我的 generic_pipeline 是在共享库 generic_pipeline.groovy 中定义的,它们已经具有如下默认参数:
我怎样才能做到这一点 ?如何为继承定义附加参数?
谢谢
jenkins - Jenkins groovy MissingMethodException 没有方法的签名
我面对
getThingsDone() 适用于参数类型:() 值:[]
代码错误如下,
我尝试定义 getThingsDone(...)
- 没有任何论据
- 带字符串参数
- 使用地图参数
没有任何效果。所以我想要一个不接受任何参数的函数启动并运行。但它分解了整个堆栈跟踪,如下所示,
jenkins - 触发一次特定的下游作业
我有一个构建一个或多个下游作业的管道,但我只想构建一次下游作业。
主要原因是一些job是基于多个条件触发的,如果其中一个条件匹配,我会触发几次那个job。我们可以为每个下游作业设置限制吗?或者至少设置一个我可以在触发另一个重复作业之前检查的标志?
我使用的当前工作构建如下:
build(job: job, parameters: jobparams, wait: false)
是否有任何变量可以访问以了解当前作业触发的下游作业?