前言
在项目的开发过程中,为了保证代码的质量便于后期的代码维护,需要遵循统一的代码规范。但是通过人工逐一查看代码去检查费时费力,使用jenkins结合sonar可以实现代码的自动检查。
本文中自动分析过程大致为以下步骤:
提交Java项目代码至gitlab
gitlab通过webhook自动触发jenkins执行任务
jenkins获取代码,执行sonar分析代码。
在sonar的服务器界面查看分析结果
下面的示例中,jenkins版本为2.121.3,gitlab版本为10.0.2-ce,SonarQube版本为7.4,如果使用的版本不一致可能会有部分设置差异。
安装部署
部署jenkins
这里采用docker的方式部署jenkins。
在终端中运行docker命令,使用jenkinsci/blueocean镜像运行容器。
docker run \
-d \
-u root \
-p 8080:8080 \
-v jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
访问 http://localhost:8080 地址,等待出现下面解锁界面。
解锁jenkins
使用docker logs 命令从日志信息中 复制自动生成的密码(在两组星号之间)。
默认密码
在 解锁Jenkins 页面, 粘贴密码并继续。
解锁jenkins后,在界面中选择“安装建议的插件”。
最后,jenkins要求创建管理员用户。创建新用户或使用admin用户,按照步骤完成后即可登录使用jenkis了。
部署SonarQube
这里采用docker的方式部署SonarQube。
在终端中运行docker命令,使用sonarqube镜像运行容器。
docker run \
-d \
-p 9000:9000 \
sonarqube:7.4-community
访问 http://localhost:9000 地址,等待出现下面界面。点击“log in”,并使用默认用户和密码 admin / admin登录。