linux服务器搭建sonar+jenkins进行项目分析

一:sonar官网下载、安装mysql、jdbc

https://www.sonarqube.org/   (6.7.5 稳定版    7.2.1最新版本 )建议6.7.5版本

下载到本地、可通过xtfp 传输到对应服务器上

解压sonarqube压缩包

unzip sonarqube-6.7.5.zip

安装sonar_scanner

将解压的sonar_scanner放到sonarqube路径下面

安装mysql

下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads

下载到本地、上传到对应服务器进行解压安装(mysql安装过程可参考百度文档)

安装jdk1.8.0以上版本 (jdk安装过程可参考百度文档)

下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

二:配置环境变量 

vim /etc/profile

添加

#sonar-scanner profile 
export
 SONAR_SCANNER_HOME=/opt/softs/sonarqube-6.7.5/sonar-scanner-2.8
export
 PATH=${SONAR_SCANNER_HOME}/bin:${PATH}

export SONAR_HOME=/opt/softs/sonarqube-6.7.5  

保存退出并使配置生效 

source /etc/profile   使环境变量立即生效 

三:配置sonar.properties 和wrapper.conf 环境 以及mysql数据库信息

cd /opt/softs/sonarqube-6.7.5/conf

修改:  vim sonar.properties

配置mysql 数据库 信息(mysql的jdbc可只配置到sonar、后面是MySQL数据库的基本信息、可不填写)

sonar.jdbc.url=jdbc:mysql://服务器ip:端口号/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root   #用户名
sonar.jdbc.password=kolosi   #密码

配置sonar信息

#sonar.sorceEncoding=UTF-8 
#sonar.login=admin #sonar.password=admin
#用于登录sonar 
#以及页面的信息 
sonar.web.context=/ 
sonar.web.port=8090  #端口、默认9000、可修改
sonar.web.host=0.0.0.0
sonar.host.url=http://ip:端口号  

四:启动sonar

直接用 root 用户启动会报错

所以创建新用户

adduser cc

pwd cc kolosi

切换用户

su cc

切到对应路径

cd /opt/softs/sonarqube-6.7.5/bin/linux-x86-64/

目录启动时经常报错无权限  赋予新建用户对应权限即可

chown -R cc:cc /opt/softs/sonarqube-6.7.5/

启动

./soanr.sh start

启动成功后会生成 SonarQube.pid 的文件

启动成功日志:

五:网址中输入ip地址打开sonar

登录: 账号密码 admin

登录之后依次选择下面,参照图片安装

“Administrator” -> “Marketplace”  安装汉化包 Chinese Pack 以及 Checkstyle

安装成功之后、重启sonar

再次登录sonar即可

六:jenkins+sonar 项目构建检查

基本插件:

系统管理--系统设置

token的生成

需要admin登录sonar,右上角--->我的账号---->安全---->生成令牌,令牌的名字可以任意填写,将生成的token填写至jenkins server配置信息中

系统管理--全局工具配置 -sonarQubeScanner、kexu可选择自动安装

 

 

创建新的任务

我们选择在jenkins项目构建过程中加入SonarScanner 进行代码分析

需要在新建的 Jenkins 项目的构建环境标签页中勾选"Prepare SonarQube Scanner evironment"

增加 Execute SonarQube Scanner 构建步骤

下面列出了一些参数:

sonar.language 指定了要分析的开发语言(特定的开发语言对应了特定的规则);

sonar.sources 定义了需要分析的源代码位置(示例中的$WORKSPACE 所指示的是当前 Jenkins 项目的目录);

sonar.java.binaries 定义了需要分析代码的编译后 class 文件位置;

Additional arguments 输入框中可以输入一些附加的参数,示例中的-X 意思是进入 SonarQube Scanner 的 Debug 模式,这样会输出更多的日志信息;

JVM Options 可以输入在执行 SonarQube Scanner 是需要的 JVM 参数

sonar.projectKey=sitbgSonar
sonar.projectName=sitbgSonar
sonar.projectVersion=1.0
sonar.language=java
sonar.java.binaries=$WORKSPACE/bg-core/target/classes/,$WORKSPACE/bg-facade/target/classes/,$WORKSPACE/bg-web/target/classes/          #此处是三个项目文件一起进行代码检测
 sonar.sources=$WORKSPACE/bg-core/src,$WORKSPACE/bg-facade/src,$WORKSPACE/bg-web/src   #此处是三个项目文件一起进行代码检测

#$WORKSPACE  是jenkins的工作 空间目录、

sonar.java.binaries  后面的l路径是进行代码检测分析文件的路径

配置成功后保存、点击构建项目即可

控制台输出、构建中日志输出

因为加入了 代码检测、所以jenkins进行项目构建的时候会比以往耗费时长

成功日志:

此时登录 sonar 即可看到项目的分析结果

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JenkinsSonarQube、Tomcat和SVN可以进行集成搭建,可以实现代码的自动构建、测试、分析和部署。下面是具体步骤: 1. 安装JenkinsSonarQube JenkinsSonarQube都可以在官网下载安装包进行安装。 2. 安装Tomcat Tomcat也可以在官网下载安装包进行安装。 3. 安装SVN SVN可以在官网下载安装包进行安装。 4. 配置Jenkins 4.1 安装插件 在Jenkins中安装以下插件: - Subversion Plugin:用于支持SVN - SonarQube Scanner for Jenkins:用于支持SonarQube 4.2 配置SVN 在Jenkins中配置SVN,在“系统管理”中选择“全局工具配置”,在“Subversion”中设置SVN的路径和账号密码。 4.3 配置Tomcat 在Jenkins中配置Tomcat,在“系统管理”中选择“全局工具配置”,在“Tomcat”中设置Tomcat的路径和账号密码。 4.4 配置SonarQube 在Jenkins中配置SonarQube,在“系统管理”中选择“全局工具配置”,在“SonarQube Scanner”中设置SonarQube的路径和账号密码。 4.5 创建Jenkins任务 在Jenkins中创建任务,在任务中配置SVN的地址、账号密码和代码的检出路径。在“构建后操作”中添加以下内容: - Invoke top-level Maven targets:用于构建代码 - SonarQube Scanner:用于进行代码分析并上传结果到SonarQube服务器 - Deploy war/ear to a container:用于将代码部署到Tomcat服务器中 5. 使用Jenkins进行集成搭建 在Jenkins中运行任务,Jenkins会自动进行代码的检出、构建、测试、分析和部署。如果有问题,可以在Jenkins的控制台中查看详细的日志信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值