Jenkins Pipeline提供了非常强大的流程定制功能,是DevOps的核心。本系列文章从0开始搭建一个自动化测试的Pipeline,包括静态测试、WEB UI测试、APP测试、安全测试、接口测试、性能测试等自动化。
1. 总体拓扑
例:
- 服务器:
- Jenkins pipeline slave Node:
- 测试环境:
- 团队:
2. Pipeline流程
测试工程师提交测试脚本、配置文件到Git Server
程序员提交代码、配置文件到Git Server
Jenkins Master checkout脚本及代码到本地
Jenkins将代码copy到build节点,build节点完成单元测试
Jenkins使用SonarQube节点完成静态测试
Build节点使用本地Maven仓库编译代码,并将jar包到本地Maven仓库;同时将后台War包build到docker镜像中;编译前端APP安装包
Build节点将构建的Docker镜像push到本地Docker Register,标记为测试版本
Jenkins使用Ansible部署测试环境
测试环境从本地Docker Register下载测试版本的image,启动测试服务器
Jenkins将测试脚本copy到各测试节点,在Selenium Hub节点使用Grid测试农场完成Web及App UI测试
Zap节点完成安全测试
JMeter Master使用Jmeter Slaves农场完成接口测试及性能测试
Jenkins Master汇总各类型测试报告,邮件通知研发团队
使用Grafana监控整个环境
3. 涉及的技术
Jenkins & Jenkins pipeline
Linux(CentOS7)
Ansible & Ansible Playbook
Docker
SMTP/ssh
Maven/Gradle/Tomcat
Git/Github
Windows Powershell
SonarQube
RobotFramework/JUnit
JMeter & JMeter Master/Slave
Selenium & Selenium Grid
Appium
OWASP ZAP
Python2/Python3/Groovy/Yaml
Taurus bzt
Grafana
待续...
领取专属 10元无门槛券
私享最新 技术干货