Tag Archives: job dsl
Job DSL vs Pipeline in Jenkins
我自己的 CI 长久以来都是手动配置 Free-Style Project,有很多重复的部分很不方便统一修改。所以就打算搞得比较自动化一点方便批量修改任务,一开始是想用什么 Template 之类,但是后来就发现了 Job DSL 和 Pipeline。 姑且来说,这两个解决的问题有重合的部分,但是也有不一样的地方。Pipeline 基本就是用一个 Groovy 的子集(还是相似的东西?),来描述一个 Job,支持的功能比较多。而 Job DSL 是用 Groovy 的一个脚本来生成 Job。实践当中你可以两个都用。 Pipeline 最基本的用法就是在代码库里面放一个 Jenkinsfile,里面描述 pipeline。当然这么做是有缺点的,因为你还是没有自动化多个不同的项目的任务生成。总之是一个类似把 Jenkins 当作 travis 的用法。 我踩的第一个坑就是没有意识到这两个东西虽然都是 Groovy,但是使用的是两套 API。需要分别查看各自的文档。我犯的一个错误就是把 Pipeline 里面的用法放到 Job DSL 里面用……结果当然是没法通过了,而且我还一直没有意识到这个问题折腾了好久。 总之,最后总算是搞清了这个问题,然后我发现我一开始写的 Job … Continue reading