问题标签 [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 - 未找到 Jenkins 共享库资源
我刚刚开始研究与 jenkins 的共享库,以便跨多个几乎相同的存储库组合大量脚本和管道。
我已经加载并工作了共享库,但是当尝试在资源文件夹中执行脚本时,我不断收到未找到错误:
我正在使用以下内容创建文件的副本:
和
然后我这样调用最后一个函数:
(我意识到我可以将上述功能折叠成一行)
然后通过调用(将整个文件调整为相关部分):
这一切都因问题顶部的错误而失败,但是当 ssh 到构建服务器时,我可以在指定的位置找到该文件。
我不明白为什么詹金斯找不到它并执行它。
jenkins - Jenkins 声明式管道 1.3 对所有作业并行运行
我已经设置了一个类似于https://jenkins.io/doc/book/pipeline/syntax/#parallel-stages-example的管道项目 ,它工作正常。
但是我已经为不同的工作创建了相同的项目,因此我可以为所有工作运行 for 循环,而不是创建新工作,例如jobs = [job1, job2, job3]
并在管道代码上运行不同的工作。
类似于https://jenkins.io/doc/book/pipeline/syntax/#script-example
我可以使用 for 循环或类似的逻辑来运行声明性管道吗?
我发现了类似的问题,但不确定如何修改这个问题是否可以在循环中创建并行的 Jenkins 声明式管道阶段?
jenkins - jenkins 共享库中的库变量
我在 repo 中有一个 Jenkins 共享库,通常的文件夹结构:
在 utils.groovy 我有一些功能:
现在我想定义一个该模块中的所有函数都可以使用的常量,但是当我尝试这个时:
我得到一个例外,即 common 不是一个存在的符号:
现在我通过这个hack来解决这个问题:
jenkins - 我们可以使用共享库在 jenkins 中将单个 jenkins 文件用于多分支 piepeline 吗?
我正在尝试编写一个 jenkinsfile,它将从 jenkins 中的共享库中获取数据用于多分支管道,如下所示:-
因此管道根据 if 条件采用共享库,如果分支是主分支,则语句数据应该工作还是应该构建。
jenkins - 无法在 Jenkins 共享库的单元测试中导入包
我正在尝试使用 Gradle 为 JenkinsShared 库创建单元测试,以便运行测试任务。
我已经按照本教程进行操作,得出结论,其中一个用于文件夹内函数的共享库的工作测试套件vars
(单元测试在 中src/test/groovy/*Test.groovy
)。
然而,在我们内部共享的 jenkins 库中,我们遵循了一种更加面向对象的风格,并将功能隔离到一个类包中,格式如下:src/org/company/*.groovy
.
尝试将所述包导入单元测试类时会出现问题。在本教程中,函数是使用loadScript
加载依赖于另一个文件的类时该方法失败的方法导入的。
上课:
src/org/company/UtilFactory.groovy
这给了我一个例外:
这可能更像是一个 Gradle 问题,而不是 JenkinsShared 库。我刚刚花了我一天的大部分时间试图弄清楚我做错了什么,但无济于事。
我真的很感激任何帮助引导我朝着正确的方向前进。
jenkins - 在 Jenkins 共享库中使用外部 jar 的问题
我们正在使用 Jenkins 共享库来集中我们所有(脚本化的)管道的一些代码。现在我们将一些 Groovy 代码分解到一个.jar
库中(用 Kotlin 编写,编译为与 Java 8 兼容)。我们将此库发布到我们的内部 maven 存储库,现在想在我们的共享库中使用它。
我们正在使用@Grab
加载我们的库,直到那时它就像一个魅力。然而,我们得到了NoSuchMethodError
。我们确定了一点,我们在 Kotlin 库中使用了 OkHttp。OkHttp 内部使用 Okio。当我们从管道调用内部调用 OkHttp-Code 的方法时,一切都很好。然而,当 OkHttp-Code 在内部调用 Okio 时,我们得到一个NoSuchMethodError
.
我们已经检查了发布的.jar
文件,它包含带有似乎缺少方法的类。有人知道问题可能是什么吗?
当我们这样做时,我们无法访问在 Kotlin 库中设置在 Jenkins 上的环境变量,有没有办法解决这个问题?
jenkins - Jenkins 与 intellij 共享库
我开始实现 Jenkins 共享库并尝试使用 intellij 作为我的 ide 编写我的 jenkinsfile。
如何从共享 lib 存储库获取函数到另一个存储库,其中包含 jenkins 文件。
只是为了澄清从 jenkins 运行时对我有用的东西,但我需要一种简单的方法来使用 shared-lib repo 中的函数来编写我的 jenkins 文件。
jenkins - 依次使用不同的参数在循环中触发管道
我在这里阅读了有关为多个项目共享标准管道的信息
我有一个用例,我想通过循环中的多个数据运行管道模板。这个管道应该按顺序运行。这是代码:
我有一个管道模板如下:
预期是按顺序运行管道。当我尝试这个时,我得到下面的异常部分异常日志
jenkins - Jenkins 共享库返回可执行的 docker 命令
是否可以获得共享库来重新调整 docker run 命令?
我有以下,
scr/docker_run.groovy
詹金斯文件
我在 groovy 文件中尝试了不同的东西,例如 echo、sh、call,所有返回错误。
任何帮助都会很棒
jenkins - 从共享库触发 Jenkins 作业
这就是我在共享库文件中的内容
它失败并出现以下错误:
这里有什么帮助吗?