软件测试技术之Jenkins 之 Go 项目编译与代码静态检查
白羽 2018-08-14 来源 :网络 阅读 1432 评论 0

摘要:本文将带你了解软件测试技术之Jenkins 之 Go 项目编译与代码静态检查,希望对大家学测试技术有所帮助

        本文将带你了解软件测试技术之Jenkins 之 Go 项目编译与代码静态检查,希望对大家学测试技术有所帮助


公司后端代码主要是;Go;+;PHP。我这两天把;Go;项目静态检查的工作搬到;Jenkins;上了,省去了本地;download;项目,整理报告的时间。
实现场景:


Jenkins;从;Gitlab;上拉取最新代码


编译项目,下载; gometalinter;: https://github.com/alecthomas/gometalinter


执行;gometalinter;命令,进行源码分析,生成;xml;格式的;checkstyle;报告


在;Jenkins;上查看;checkstyle;报告


Go;小白记录一下;Jenkins;配置过程。
第一步:安装;Go;环境插件和;CheckStyle;报告解析插件。
Go;插件源码:https://github.com/jenkinsci/golang-plugin
Go;插件介绍页: https://wiki.jenkins-ci.org/display/JENKINS/Go+Plugin
CheckStyle;插件介绍页:https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin
Go;插件安装完成后,要完成某个;Go;版本的安装。需要注意的是:官方介绍是在;Manage;Jenkins;→Configure;System;中配置;Go;installations,但实际上是在;GlobalTool;Configuration;中配置。
第二步:Go;项目配置如下:


Source;Code;Management;-;Git;:略。


Build;Environment;中,勾选“Set;up;Go;programming;language;tools”,选择合适的;Go;版本


通过以下;Shell;脚本完成项目构建,gometalinter;下载和执行。需要说明的是,$JENKINS_HOME;是事先在;Jenkins;的;Configure;System;-;Global;properties;中配置的变量。而;$GOROOT;是;Go;插件自动完成的变量配置。



 #;print;the;env;variables
 echo;$JENKINS_HOME
 echo;$GOROOT
  
 #;prepare;the;dependencies;
 mkdir;-p;$GOROOT/src/git.applewu.com/API/
 cp;-r;$WORKSPACE/vendor/*;$GOROOT/src/
 ln;-Ffs;$WORKSPACE;$GOROOT/src/git.applewu.com/API/
 cd;$GOROOT/src/git.applewu.com/API/pingpp-async-service
 go;install;
  
 go;get;-u;gopkg.in/alecthomas/gometalinter.v1
 export;PATH=$PATH:$JENKINS_HOME/go/bin
 gometalinter.v1;--install
 gometalinter.v1;--disable-all;--enable=interfacer;--enable=staticcheck;--enable=gas;--enable=gocyclo;--enable=ineffassign;--enable=lll;--enable=dupl;--enable=deadcode;--enable=goimports;--enable=unconvert;--enable=unused;--enable=varcheck;--enable=aligncheck;--enable=goconst;--enable=gosimple;--enable=misspell;--enable=structcheck;--enable=errcheck;--enable=gotype;--checkstyle;>>;checkstyle.xml

为了避免第三方包导入的问题,shell;脚本中将;Go;项目的;vendor;目录内容拷贝到;GOROOT;中。并将当前项目作为软链也加入到;GOROOT;中。
 

在 Post-build Actions 中选择“Publish Checkstyle analysis results”配置为:checkstyle.xml

 
第三步:build;项目,查看结果。以下是;checkstyle;报告效果。


 



    
   
            

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试技术频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程