问题描述
我试图了解Jenkins共享库和Jenkins管道模板之间的确切区别是什么。
据我所知,共享库用于保留通用代码并使其可用于多个管道。
那么我无法理解Jenkins管道模板之间的区别。还有使用模板引擎创建的Jenkins模板的用途。它在某种程度上类似于共享库
解决方法
这里是 Jenkins 模板引擎的维护者。
共享库
专注于重用流水线代码。每个单独的应用程序仍然需要一个 Jenkinsfile,并且这些单独的管道必须导入库。
Jenkins 模板引擎
一个管道开发框架,支持与工具无关的管道模板。
您可以创建一组集中的管道模板,而不是创建单独的 Jenkinsfile。
这些模板调用 steps
,例如:
build()
unit_test()
deploy_to dev
这个通用模板可以跨团队应用,无论他们使用什么技术。
build
、unit_test
和 deploy_to
步骤将来自图书馆。
实现build
步骤的库可能有多个,例如npm、gradle、maven等
与其让每个团队定义一个完整的管道,他们现在只需声明应该用于通过管道配置文件“水合”模板的工具:
libraries{
npm // contributes the build step
}
请随时查看此CDF Webinar: Pipeline Templating with the Jenkins Templating Engine。