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也有这个文件

 

 

 .

posted on 2019-07-09 13:04  光阴8023  阅读(1081)  评论(0编辑  收藏  举报