使用 Groovy 库的 Jenkins 工作流插件

Jenkins Workflow Plugin Using a Groovy Library

随着我编写越来越多的 Groovy 以与 Jenkins Workflow 插件一起使用,我已经开始达到可以在多个脚本中使用的可重用代码的地步。

共享此代码的最佳方式是什么?是否可以使用共享代码生成我自己的 .jar 并在工作流脚本中使用它?或者有更简单的方法吗?

这就是工作流全局库的用途! https://github.com/jenkinsci/workflow-plugin/blob/master/cps-global-lib/README.md 我在我的安装中使用它,它是 Workflow 的一个很棒的功能。现在我只有一个 "helper" class 包含所有构建通用的方法,但随着其他团队开始采用工作流,他们表现出对创建自己的 classes 用于子集的兴趣我们的构建。

您可以按照其他评论中的指示使用 Global Lib and/or 使用 load 步骤从某处加载您自己的脚本(即您的 SCM 之前刚刚签出)。

关于 load 的更多信息:https://github.com/jenkinsci/workflow-plugin/blob/master/TUTORIAL.md#triggering-manual-loading

实际上,我最终通过使用我们自己的 git 存储库实现了此功能,但将符号链接放入 workflow-libs/src 以指向该存储库。

Workflow Remote File Loader plugin可能会满足您的需求。