我们使用 JJB(Jenkins Job Builder)来生成我们的工作,但最近我决定尝试 Jenkins DSL 插件,因为它与 JJB 相同或非常强大,根据我找到的信息。尝试另一种技术的原因是我无法使用 JJB 解决一个任务。它让我深入研究 DSL 插件技术,尝试以 JJB 的方式创建工作并组织一切,以了解 DSL 插件是更好还是更糟,我们应该使用它代替 JJB 还是作为补充。

网上关于这两个插件的优缺点的资料不多,所以想请大家帮我了解一下:

  • JJB 到 Jenkins DSL 插件的优缺点是什么
  • 哪些任务可以用一个而不是另一个来完成?

  • 就我个人而言,我可以说以下几点:
    DSL插件优点:
  • DSL 插件允许我们使用强大的编程语言(groovy),它允许创建更有效的作业配置。
  • DSL 插件不依赖于插件开发 - 如果添加了新的参数和元素,您可以使用节点语法轻松添加它们。
  • 例如,您可以使用类导入轻松地从其他 DSL 脚本中获取变量(这就是我决定尝试 DSL 插件的原因)。

  • DSL 插件缺点:
  • 用它创建模板比较困难,你需要添加额外的代码才能让它工作。 “using()”命令不允许您传递变量。
  • 语法有点困难。
  • 最佳答案

    我以前也是 JJB 的粉丝,但它遇到了阻止我继续工作的问题。

    当我注意到 out of jobDSL (2014.6?) 时,它是完成此任务的正确武器

    一些问题:

  • 对复杂配置的支持弱:它是通过 Jenkins REST API 的,很多东西不能通过外部 REST API 进行配置。 JobDSL 是基于 groovy 的,可用于从 jenkins 实例获取内部数据。借助强大的配置块,如果普通 DSL 不起作用,它可以操作 config.xml。
  • 弱社区:JobDSL 由 jenkins 核心开发者贡献,迅速得到所有用户的支持。并且越来越多的插件直接通过配置来支持。
  • 执行模型:JJB 运行在 Jenkins API 之上,而 jobDSL 运行在 jenkins 作业内部,易于控制。

  • 因此我推荐使用JobDSL。

    如果您的工作不是 JJB 已经支持的那么复杂,并且是您的 Python 粉丝,那么您肯定可以坚持下去。

    关于groovy - JJB 和 Jenkins DSL 插件 - 优点和缺点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30304699/

    10-16 10:00