sonarqube sonarqube-scanner


分两个步骤,第一步安装sonarqube server端,第二步,jenkins集成sonarqube-scanner(需要连接sonar服务端)


第一步:

java版本 11

先看一眼官方的架构:

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理



架构不详细讲了,下面开始安装....少走弯路。


官网下载sonarqube,下载页:


https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.2.0.49834.zip



此处我下载的是zip包,直接即可使用,我下载到/opt文件夹

解压:



unzip sonarqube-9.2.0.49834.zip



因为sonarqube不能以root启动,此处需要创建一个普通用户,此处我创建的为sonar



useradd sonar



你问我为啥要创建一个普通用户?往下看。

官方原因:

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_普通用户_02





其实就是elasticsearch的原因,elsticsearch不能用root启动,sonarqube包含这个组件,

所以接下来我们需要更改下sonarqube目录所有权

chown -R sonar:sonar sonarqube-9.2.0.49834 (PS:当然你可以改改文件夹名称,我这里是测试,所以就不那么麻烦了)

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_官网_03


然后切换到sonar用户


su sonar  cd /opt/sonarqube-9.2.0.49834/bin/linux-x86-64  #启动 ./sonar.sh start    (其他命令输入./sonar 直接回车会提示)



Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_普通用户_04


等待片刻(约1分钟),会看到服务器9000端口启动起来了。那么恭喜你,启动成功了,使用ip:9000的地址在浏览器访问即可。如下图:

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理_05




那么账号密码是什么呢,当然我们要学会看官方文档:

第一次使用默认账号密码登录后会提示修改密码;


Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_插件安装_06





登录成功啦!!

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_linux_07




至此,sonarqube server端安装完成,下一步与jenkins集成。


第二步:jenkins 与 sonarqube集成


jenkins安装此处不再赘述,上去就是干,打开我的jenkins


进入 系统管理-插件管理,选择【可选插件】找到这个插件:​​SonarQube Scanner for Jenkins​​,选择安装即可。

插件安装完毕后,我们需要先到sonarqube平台生成一个token,供jenkisn去连接,按照如下图指向,随便输一个token的别名,点击Generate,一梭子干完。

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理_08




如图复制生成的token。

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理_09





好了,有这个token之后,为了重复利用,我们把他作为一个【凭据】保存在jenkins里面,也就是在jenkins里面创建一个凭据。


我们回到jenkins,到-系统管理-管理凭据添加一个类型为Secret tex的凭据。

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理_10




然后确定保存,这样在后面使用调用sonar-scanner的地方用这个凭据就可以访问到sonarqube了。


我们继续。


然后到jenkins的系统管理-全局工具配置里面,配置一下sonar-scannerr,主要就是告诉jenkins我们要使用哪个版本的scanner。Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理_11






还差一步,那就是最关键的jenkins和sonarqube连接,我们转到 jenkins的 系统管理-系统配置,往下一直拉,找到SonarQube servers,如下图:

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理_12



点击add SonarQube展开:

Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_linux_13





准备工作完成了,就可以在添加job构建(build)的时候调用scanner了,具体使用此处不再展开,在job中使用Execute SonarQube Scansr调用该功能如下图:




Sonarqube 安装 及与Jenkins sonar scanner插件集成部署_系统管理_14



至于使用,等我研究一下。


可随意转载,欢迎署名!