摘要:本文将带你了解软件测试技术之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;报告效果。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试技术频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号