大部分同行都已经会使用 Jenkins 这样的持续集成工具了,不过老版本的 Jenkins 的流水线功能相对弱一些。随着持续交付流水线的普及,Jenkins2.0 以后对新增的 Pipline 功能可以很方便地支持流水线创建和配置。今天主要通过实际操作的方式,来演示如何通过 Jenkins 来快速创建持续集成流水线。
打开 Jenkins 启动页面链接
Jenkins 语法规则案例官网链接
熊志男 ,京东数科高级软件开发工程师。他目前从事研发效能工具研发工作,主导并参与了京东代码质量平台建设和 POP 持续集成平台等项目。他是《京东系统质量保障技术实战》作者之一,译著《 Selenium 自动化测试—基于 Python 语言》。
作者回复: 谢谢,声明式流水线是比脚本化流水线后出来的,提供了更加直观的声明式的语法。要说哪个场景目前是声明式流水线支持不了的,还没有具体验证。目前我们还是使用脚本化流水线比较多。我的理解是:
1.脚本化流水线的能力是基于groovy语言的能力,应该说扩展能力很强,通过jenkins内置的groovy执行引擎来执行脚本从而实现流水线功能;
2.声明式流水线依赖于其声明式语法,关于循环、判断和异常处理等逻辑,还有对k8s和docker容器的支持,声明式流水线也都可以实现,需要注意固定的语法。
有一点我可以想到的是,如果有在使用声明式流水线推出以前的jenkins版本,考虑到兼容性的需求,使用脚本化流水线是非常适合的。
谢谢
作者回复: 谢谢
作者回复: thanks
作者回复: 可以用的,就是看用于编译打包,还是部署环境?流水线只是个框,里面具体的步骤,还需要脚本和插件来实现呢。例子里都是maven构建,所以通过maven就可以很方便实现了。您那是什么构建工具呢?
作者回复: 冒烟测试可以作为一个测试集合,如果用基于testng来写的自动化测试用例,那么可以再testng.xml中组织好冒烟测试用例,然后通过maven命令执行 mvn clean install test -DsuiteXmlFile=testng.xml 即可。压力测试如果是jemeter实现的,就要通过命令行来执行,例如:node {
stage 'Run JMeter Test'
bat 'c:/jmeter/bin/jmeter.bat -n -t c:/jmeter/extras/Test.jmx -l test.jtl'
}