小编典典

创建可重用的詹金斯管道脚本

jenkins

我正在考虑最近使用Jenkins管道脚本,一个问题是我不知道创建内部可重用utils代码的明智方法,想象一下,我有一个通用功能helloworld,该功能将被许多管道作业使用,所以我希望创建一个utils.jar可以将其注入作业类路径的容器。

我注意到詹金斯(Jenkins)在全局库中有一个类似的概念,但是我对此插件的关注是:

由于它是一个插件,因此我们需要通过jenkins插件管理器进行安装/升级,然后可能需要重新启动才能应用更改,这不是我想要的内容,因为utils可能会更改,请始终添加,我们希望可以立即可用。

其次,它是官方的詹金斯共享库,我不想(否则他们将不会应用我们)将私人代码放入詹金斯存储库中。

有什么好主意吗?


阅读 216

收藏
2020-07-25

共1个答案

小编典典

共享库
文档),可以使 你的
代码可以访问到所有管道的脚本。您不必为此构建插件,也不必重新启动Jenkins。

例如,这是我的库这是一个Jenkinsfile,它调用此公共函数。


编辑(2月2017): 库可以通过詹金斯的内部的Git服务器进行访问,或通过其他方式部署(例如,通过厨师)在workflow-lib/该目录内
詹金斯 用户的主目录。
(仍然可能,但非常不方便)。

可以通过以下方式配置全局库:

  • 指向共享库回购网址的@Library('github.com/...')注释Jenkinsfile
  • 在Jenkins作业的文件夹级别配置。
  • 在Jenkins配置中配置为全局库,其优点是代码是 受信任的 ,即不受脚本安全性的约束。

第一个和最后一个方法的组合将是一个没有明确加载的共享库,那么只有在使用其名称要求Jenkinsfile@Library('mysharedlib')

2020-07-25