jenkins(十九):Jenkins-pipeline(3):测试阶段pipeline
Jenkins-pipeline(3):测试阶段pipeline
接开发阶段pipeline,配置以这个为主,开发阶段pipeline配置有点异常,我懒得改了。
需求
开发提交到branch,发起merge request,开发领导merge到master后,开启master代码测试。
需求是提交到master后,自动触发这个job
Jenkins配置
job token
5bd5390cc774f315f15688d79450cfd0
jenkins pipeline脚本
node ("master"){ stage('第1步拉代码'){ echo "拉代码" git credentialsId: '03fd8295-c536-4871-9794-1c37394676e0', url: 'git@gitlab.corp.XXX.com:wangxu/ops.git' } stage('第2步编译'){ echo "编译" sh "source /etc/profile && /usr/local/maven/bin/mvn clean compile" } stage('第3步单元测试'){ echo "单元测试" sh "sudo /usr/local/maven/bin/mvn test" } stage('第4步打包'){ echo "打包,有一个mail模块是系统级别的,需要sudo" sh "sudo /usr/local/maven/bin/mvn package" echo "完成后 修改一下权限,否则下一次麻烦" sh "sudo chown -R jenkins: ." sh "find -name '*SNAPSHOT.jar' " } stage("第5步文件放到下载服务器上"){ sh "sudo cp ./account-email/target/account-email-1.0.0-SNAPSHOT.jar /home/admin/webserver/html/download && sudo chown -R admin: /home/admin/webserver/html/download" } stage("第6步部署到测试环境"){ echo "部署到测试环境" sh "ls -al" } stage("第7步自动化测试"){ echo "自动化测试一下" } }
gitlab配置webhook
命令行测试
我创建一个文件提交
实时触发了构建
去workspace看一下,代码下载下来了
merge request触发构建
我创建一个merge request
当我还在找文件时间的时候已经构建完成了
workspace也有这个文件
.