原标题:.net持续集成sonarqube篇之sonarqube安装与基本配置

Sonarqube下载与安装

Sonarqube下载地址是:https://www.sonarqube.org/downloads/下载版本有两个,一个是长期支持版,另一个是最新版,此处安装的是最新版,目前版本是7.3,下载的时候点击醒目的蓝色按钮即可(此时下载的是社区版),下面有三个无底色按钮下载链接,分别对应的是开发者版,企业版和数据中心版,这些版本都不是免费版,需要获取Licence key方可使用.目前起步阶段,使用社区版就Ok了.

注意 Sonarqube是基于java语言开发的,因此运行之前必须先安装Jre

Sonarqube支持Windows,mac和linux,但是安装包并不区分平台,也就是这三个平台下载包是一样的,只是启动方式不同.

下载完成全将下载的压缩包解压,进入bin目录,可以看到这个目录下有数个文件夹,从文件夹的名称很容易看出它们对应的是windows,mac,linux平台下的启动目录,由于我们是在windows平台下运行的,因此进入windows-x86-64目录(当然,如果你的电脑是32位系统,则进入windows-x86-32目录)此目录下面有很多脚本文件,我们双击StartSonar.bat这个批处理文件来运行windows下的sonarqube,启动需要数十秒时间,请耐心等等.当看到控制台最后一句是SonarQube is up说明sonarqube已经成功启动.此时在浏览器地址栏输入localhost:9000就可以进入Sonarqube web管理页面.

这个页面是一个关于Sonarqube的介绍页面,从这里可以很清析地看到Sonarqube支持的语言,点击Read Documentation按钮可以进入Sonarqube的帮助文档页面.

Sonarqube基本配置

上一节我们已经成功启动Sonarqube,然而仅仅把Sonarqube启动起来并没有什么作用,我们还需要进行数据库配置和扫描器(Sonarqube对特定语言的扫描工具称为扫描器)配置才能把数据接入Sonarqube管理平台.

数据库配置

Sonarqube支持内嵌数据库,mysql,oracle 11g/12c,sql server 2014/2016,postgresql 9.3+,由于oracle需要提供单独的驱动比较麻烦,这里就以mysql为例讲解.

我们进入Sonarqube目录下的conf目录,下面有一个sonar.properties文件,我们用记录本打开它,我们进入mysql栏把sonar.jdbc.url注释取消掉,并加上以下代码

sonar.jdbc.username=root

sonar.jdbc.password=

sonar.sorceEncoding=UTF-8

sonar.login=root

sonar.password=

Sonarqube默认的数据库名为sonar,需要我们手动创建,我们在自己常用的mysql管理工具里新建即可.

以上是关于sonarqube mysql连接字符串的配置.用户名和密码读者根据实际情况填写

以上笔者使用的是Xampp带的mysql的默认配置,用户名为root,密码为空,注意这里的password不能写为"",而是什么都不写留空,当然如果有密码就填写实际密码.

Sonarqube 7.3仅支持mysql 5.6及以上8.0以下版本,也就是说不支持8.0版本,需要特别注意.

Sonarqube也支持内嵌数据库,然而内嵌数据库不便于管理和迁移,强烈不建议在生产环境使用内嵌数据库.

我们重新启动Sonarqube,然后进入web管理界面,此时我们打开mysql管理工具,可以看到sonarqube在sonarqube库下创建了很多表.

安装配置Msbuild Scanner

上一节我们说过,Sonarqube需要使用Scanner来扫描代码数据以供Sonarqube管理平台使用,这里我们下载 msbuild scanner扫描工具对c#代码进行扫描.

我们把Sonarqube web管理界面往下拉到最底,会看到一拍图标

我们点击第一个图标,也就是Visual Studio图标,会进入一个页面

图示部分为下载链接,我们选择.net framework 4.6+

注意,这里下载链接的名称虽然是for .net framework 4.6+,实际上仍然支持.net 4.0及以上版本,并不是只支持.net 4.6以上版本.

下载完成后,我们把压缩包解压到一个目录,并把目录地址添加到系统环境变量里.

同样,为了方便使用,我们也需要把msbuild.exe添加到环境变量中,如果你的系统中安装的visual Studio开发工具,则Visual studio中会自动包含一个msbuild.exe我们找到它的路径添加到系统环境变量path中.配置SonarQube.Analysis.xml文件

由于Scanner要通过rest api方式向服务器提交数据,这里需要对Sonarqube web服务器地址和用户名进行配置才能正常提交数据,我们打开刚解压的目录,找到SonarQube.Analysis.xml文件,添加以下三行配置即可

http://localhost:9000

admin

admin

以上配置很容易理解,url为Sonarqube服务器地址,下面为登陆名和密码(Sonarqube默认带一个管理员账号,用户名为admin密码也是admin,后面我们会讲在生产环境中如何更改admin密码)

再次回到刚才的下载页面,定位到usage栏,可以看到有一个简短的示例代码如下

SonarScanner.MSBuild.exe begin/k: "project-key"

MSBuild.exe /t: Rebuild

SonarScanner.MSBuild.exe end

我们依照这段代码的结构,对本地的一个项目进行编译(可以是任意c#项目),进入项目sln或者csproj所在的文件夹下依次执行以下代码

SonarScanner.MSBuild.exe begin/k: "mygetdata"/v: "1.0"

MSBuild.exe /t: Rebuild

SonarScanner.MSBuild.exe end

第二段是执行msbuild,第三段是一个结束标志,没有什么需要详细说明的,关于msbuild构建的详细信息可以查看微软官网,也可以参照本教程其它章节.这里简要介绍下第一段的/k和/v参数,/k为key的缩写,Sonarqube每一个项目都要有一个惟一key,key的规则可以自己定,但是需要方便管理,/v为version,如果两个构建的key相同,verison不同,Sonarqube会生成一个对比以便直观看到两次构建的差异,这样方便管理员查看问题的解决情况.

执行完以上命令后,我们再进入Sonarqube首页,这时候我们点击Login按钮登陆,只有登陆以后才可以看到与项目相关的内容,点击例如后用户名为admin,密码也是admin(前面说过Sonarqube默认会带一个用户名和密码都是admin的账户,后面我们会讲如何更改密码以及如何为不同的开发者分配账户)

登陆以后,就会看到一个如下图所示的界面

从图中我们可以看到我们刚才创建的key 为mygetdata的构建了,从图中可以简要的看到此项目的严重bug,一般bug,代码不规范,代码单元测试覆盖率,代码重复度,代码最后一次分析时间等.

我们点击mygetdata这个标题,便会进去关于这个构建任务的更为详细信息

可以看到信息更为详细,切换上面的导航栏可以看到关于某一个维度的更为详细的信息.

图标中的数字大都是可以点击的链接,比如页面中显示bugs为10我们点击10这个数字可以进入这10个bug的代码详情

原文:https://www.cnblogs.com/tylerzhou/p/11229548.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com返回搜狐,查看更多

责任编辑:

sonarqube连mysql_.net持续集成sonarqube篇之sonarqube安装与基本配置相关推荐

  1. Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)

    持续集成及Jenkins介绍和安装配置 持续集成及Jenkins介绍 软件开发生命周期 持续集成 持续集成的组成要素 持续集成的好处 Jenkins介绍 Jenkins安装和持续集成环境配置 Gitl ...

  2. SonarQube代码质量扫描持续集成

    1.安装JDK和配置JAVA_HOME和CLASSPATH 2.安装mysql数据库 3.创建数据库和用户 mysql -u root -p mysql> CREATE DATABASE son ...

  3. 阿里云云效平台配置持续集成--java篇

    一直想为我的pi项目配置一下持续集成,因为没有足够的服务器,自己搭建持续集成服务肯定是不可能了.所以就找了一下在线托管的平台,一开始是看到了GO CD,因为是国外的平台,没有中文文档,遂放弃了.无意间 ...

  4. .net持续集成cake篇之cake介绍及简单示例

    cake介绍 Cake 是.net平台下的一款自动化构建工具,可以完成对.net项目的编译,打包,运行单元测试,集成测试甚至发布项目等等.如果有些特征Cake没有实现,我们还可以很容易地通过扩展Cak ...

  5. 持续集成服务器(CruiseControl)安装和配置

    1.下载安装 我使用的是CruiseControl-2.8.4 CruiseControl:http://cruisecontrol.sourceforge.net/ SVN:http://subve ...

  6. git jenkins 子目录_持续集成高级篇之Jenkins Pipeline git拉取

    PipeLine中拉取远程git仓库 前面讲自由式任务的时候,我们可以看到通过自由式job里提供的图形界面配置git拉取非常方便的,实际上使用PipeLine也并不复杂.这一节我们展示一下如何在Pip ...

  7. Jenkins持续集成环境之Maven的安装和配置

    在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目. 1)安装Maven tar -xzf apache-maven-3.6.2-bin.tar.gz 解压 2)配置环境变量 vi ...

  8. wamp替换mysql_将wamp集成的mysql替换成安装版的

    替换原因: wamp集成的mysql错误提示乱码. 修改文件: 路径C:\wamp下的wampmanager.conf,wampmanager.ini,uninstall_services.bat 路 ...

  9. 持续集成之jenkins下载及安装

    个人推荐rpm方式安装-- 一.yum方式安装: jenkins官方下载地址 https://www.jenkins.io/zh/download/https://www.jenkins.io/zh/ ...

最新文章

  1. C++中的运算符重载基础
  2. Windows环境下spyder调用Arcpy
  3. vue上传录音_vue用到H5+的录音功能 真机模拟的时候不能实现
  4. Python基于OpenCV的人脸检测
  5. Mac OS X必备APP推荐之二
  6. FreeRTOS 任务间同步和通信方法
  7. 【SpringBoot 2】(四)详析SpringBoot的常用注解
  8. 95-34-025-Context-AbstractChannelHandlerContext
  9. mysql with-embedded-server_终于成功实验程序实现Embedded MySQL Server启动(C/C++)
  10. LINUX 安装 PHP5.6.13
  11. c++ qt 汉字转拼音 自适应多音字处理 姓名自动切分 开源代码
  12. 计算机游戏测试软件,你的电脑能不能吃鸡,两款软件很简单就能测试出来
  13. EXCEL和公式里的 通配符
  14. 【MATLAB教程案例29】基于Baker映射和Logistic混沌序列的图像加解密matlab实现
  15. '命名空间xxx中不存在类型或命名空间名xx(是否缺少程序集引用)'-异常报错的原因
  16. 浪漫的c语言表白代码1
  17. 巴比特首发 | 银行卡司法冻结应遵循法治程序
  18. 检测色卡饱和度和色彩偏差
  19. 洛谷 P5664 Emiya 家今天的饭【dp】
  20. [已解决]EIsevier模板中hyperref包冲突导致无法修改标注颜色

热门文章

  1. php获取curl头_php中CURL请求头和响应头获取方法
  2. Arduino--LCD1602(IIC)
  3. 乖离性暗机器人_乖离性百万亚瑟王国服超弩暗机器人如何打|乖离性百万亚瑟王国服超弩暗机器人平民打法攻略分享_好特教程...
  4. 搜狗拼音输入法5.0_搜狗输入法与金山WPS联合放大招,推出quot;金山搜狗拼音输入法quot;...
  5. Elasticsearch学习(3) spring boot整合Elasticsearch的原生方式
  6. 教你一步步发布一个开源库到 JCenter
  7. Python成长笔记 - 基础篇 (六)python模块
  8. Xib/Storyboard碰到不同版本的Xcode真是想死啊!
  9. 元对象我所理解的设计模式(C++实现)——享元模式(Flyweight Pattern)
  10. 对mysql explain讲的比较清楚的