在声明式管道的共享库的全局变量(在/ vars下)中使用groovy对象有什么问题?

时间:2018-12-05 16:46:49

标签: jenkins jenkins-pipeline

在声明性管道中使用共享库时,从共享库(在/ src下)创建groovy对象并将其在全局变量中(在/ vars下)使用有什么问题吗?

我对詹金斯和groovy陌生。我正在使用一个共享库,我们使用它来提供一些通用步骤(作为全局变量?)。因此,我们的共享库当前有一个/ vars目录,其中包含一堆.groovy文件,我们将它们用作jenkins声明式管道中的步骤。我正在使用一些命令行工具(例如aws,kubectl,helm),并且想要一些更复杂的逻辑(例如错误处理)。我正在考虑使用包装特定cli功能的常规对象,并从全局变量中调用它们。

从高层次看,我希望:

  1. 在声明性管道调用全局步骤下导入共享库
  2. 从jenkins(例如/vars/myStep.groovy)通过共享创建对象
  3. 图书馆(例如/src/com/mycom/myclass.groovy)

理想情况下,我想将纯常规的逻辑保留在类层次结构下,并将全局变量主要限于詹金斯步骤,并在必要时添加一些对象。希望这有道理。

0 个答案:

没有答案