【问题标题】:JJB and Jenkins DSL plugin - advantages and disadvantagesJJB 和 Jenkins DSL 插件 - 优缺点
【发布时间】:2015-05-18 13:36:56
【问题描述】:

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

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

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

我可以说以下几点: DSL 插件优势:

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

DSL 插件的缺点:

  1. 使用它创建模板比较困难,您需要添加额外的代码才能使其工作。 “using()”命令不允许你传递变量。
  2. 语法有点困难。

【问题讨论】:

标签: groovy jenkins jenkins-plugins jenkins-job-dsl


【解决方案1】:

我以前也是 JJB 的粉丝,但它遇到的问题让我无法继续努力。

当我注意到失业的DSL(2014.6?)时,它是这项任务的正确武器

一些问题:

  1. 对复杂配置的支持较弱:通过Jenkins REST API,很多东西无法通过外部REST API进行配置。 JobDSL 是基于 groovy 的,可用于从 jenkins 实例中获取内部数据。借助强大的配置块,它可以在正常的 DSL 不起作用时操作 config.xml。

  2. 社区薄弱:JobDSL 由 jenkins 核心开发人员贡献,并很快得到所有用户的支持。而且越来越多的插件是通过配置直接支持的。

  3. 执行模型:JJB 运行在 Jenkins API 之上,而 jobDSL 运行在 jenkins 作业内部,便于控制。

因此我推荐使用 JobDSL。

如果你的工作不是 JJB 已经支持的那么复杂,而且你是 python 粉丝,你可以肯定地继续下去。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 2017-09-04
  • 2022-08-15
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多