Postman+Newman+Jenkins+Git持续集成时遇到的问题

一、前言

     我的jenkins部署在windows本地。Git部署在linux服务器,通过Gitlab界面查看仓库等信息。

     Jenkins+newman+Git集成执行接口脚本时,踩了好几个坑。

     简单串下流程,主要记录下解决报错的方法。

二、构建流程

  1.已在postman导出接口测试用例集合文件(包含环境变量,全局变量等Json文件)

     将其上传到Git仓库。

     结果往Git远程仓库推送文件时,一直提示下列错误:

     原因是:我的gitlab是HTTP协议,对于只开放http端口的公司内部不能使用ssh协议,只能用https.

     解决方法是:克隆远程仓库到本地时,用git clone http://139.198.xx:xxx:33080/web/autotest.git.

     切勿用git clone  git@139.198..xx:xxx:33080/web/autotest.git 。

     

   2.在Jenkins创建配置项目

       

       点击项目名称“PostmanTest”--》配置,进行操作。

      

      3.Git源码管理,配置Git仓库URL有两种方法:SSH和Https

      (1)Https协议:

        

     (2)SSH协议:

        这个报错跟上面git推送文件同样的错误,原因是我这个gitlab是http协议,不能用SSH协议。所以这里不要用git@XXXX.git.

         

            

     (3)添加SSH全局凭据

             第一步:生成SSH私钥,$ ssh-keygen -t rsa -C "your_email@youremail.com"。邮箱可以随意写。

             我写的是gitlab关联的邮箱,执行完上面的命令,在Jenkins所在机器的用户C:Usershupzon.ssh路径下,生成id_rsa.pub和id_rsa文件。

              

             第二步:登录gitlab/github,在setting中配置公钥信息。如下图

              

            

          第三步:在Jenkins中配置凭据,将id_rsa文件中的信息贴进去。添加成功。注意:公钥私钥都是所有信息复制进去。

            

            

 4.在Jenkins_管理Jenkins_Global Tool Configuration中进行全局配置

    配置本地git可执行文件的路径。

     

5.在Jenkins上构建,选择Execute Windows batch command或者Execute shell.

        

         

         立即构建后,控制台输出有报错:

          Build step 'Execute Windows batch command' marked build as failure ,Finished: FAILURE

          原因:jenkins执行windows命令时,若退出代码不为0 ,则jenkins会将构建标记为失败

          解决方法:在最后加exit 0 表示正确执行后退出,非0 表示未成功构建。

            

 6.Jenkins_buildnow 构建后

    在.jenkinsworkspacePostmanTestAPItest路径下,可以看到从git拉取到的集合文件和测试报告

      

         

        

原文地址:https://www.cnblogs.com/balllyh/p/13156890.html