SonarQube学习系列1:安装和初始化、安全配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/alinyua/article/details/83244983

本文将通过docker安装SonarQube,并进行相关初始化配置(如中文配置)和安全性配置(禁止游客访问项目和禁止游客提交代码质量评估等)

一 安装

安装之前请注意SonarQube的要求,具体请见:https://docs.sonarqube.org/display/SONAR/Requirements
个人或小团队使用时硬件要求内存至少在2GB以上并预留1GB供系统使用

SonarQube默认使用端口为9092的内存数据库,实际生产开发中建议配置数据库(如MySQL,Oracle,SQL Server等),但需注意其版本兼容性和字符集配置等

如果要将其作为服务器(跟随Windows/Linux主机启动,使用Apache/Nginx反向代理,配置集群等),请参考:https://docs.sonarqube.org/display/SONAR/Installing+the+Server

0 文件结构

到官网( https://www.sonarqube.org/downloads/ )下载最新版本zip包 (截至2018.10月最新版为 7.3 ),可见文件结构如下
文件结构
各个目录作用如下:

  • bin
    该目录存放了各个系统的 SonarQube 的启动脚本,目前支持的系统有 Linux(32位/64位),Mac(32位),Windows(32/64位),这些脚本都使用了 Java Service Wrapper (jsw:可用于将Java后台程序包装成一个后台服务运行。除此以外,JSW还可以在你的Java程序挂掉以后,自动帮你把服务再次拉起,相当于提供了一个守护进程的功能。)技术
  • conf :该目录用于存放配置文件(主要是 sonar.properties ),最常用的是数据库连接配置
  • data : 该目录用于存放数据,如 H2内存数据库数据,已部署的插件jar包,ES5数据等
  • elasticsearch : 该目录用于存放 elasticsearch 相关服务,包括不同系统的脚本
  • extensions : 该目录用于存放下载文件、jdbc驱动、已下载的插件等
  • lib : 该目录用于存放依赖库
  • logs : 存放各类日志信息
  • temp : 存放临时文件
  • web : 用来提供 SonarQube 网页服务

1 常规安装

到官网( https://www.sonarqube.org/downloads/ )下载最新版本zip包 (截至2018.10月最新版为 7.3 ),解压即可
假设解压目录为:“C:\sonarqube”(Windows)或“/etc/sonarqube”(其他),则对应的启动指令为:

  • Windows:C:\sonarqube\bin\windows-x86-xx\StartSonar.bat
  • 其他:/etc/sonarqube/bin/[OS]/sonar.sh console

2 docker安装

进入dockerhub项目主页:https://hub.docker.com/_/sonarqube ,最新版本是 7.1
使用如下指令启动(也可开放9092端口使得H2数据库开放)

docker run -d --name sonarqube -p 9000:9000 sonarqube

也可以通过环境变量配置数据库连接

二 初始化配置

1 登录

输入 IP:9000 即可访问主页,如下
主页
可以看到这个时候虽然没有登录,但sonarqube并没有拒绝访问,换句话说,如果这个时候有项目在分析的有,游客是可以访问到的,这个后面会进行配置
现在先要用 admin/admin 登录,刚进入的时候会提示创建一个 token,这个可以先不管,点击右上角的 Skip this tutorial跳过

2 修改语言为中文

如下,选择中文包插件进行安装,安装完成后安装上方提示点击重启即可生效
安装中文包

三 安全性配置

0 修改默认密码

如下,注意令牌也是在这里生成的
修改密码

1 禁止游客访问

如下,强制要求用户认证,禁止未登录用户访问 SonarQube
禁止游客访问

2 禁止游客提交代码质量评估

注意,要点一下执行分析和置备项目(可以在第一次分析项目之前初始化项目结构)下的小勾,将其取消掉
禁止任意提交代码
再刷新一下当前页就会发现 Anyone 的配置项消失了

3 新建授权用户

新建用户如下,注意登录时使用的是 lin 而非 LinShen ,注意新用户默认是分配到 sonar-users 组下的
新建用户

4 分配新用户权限

需要到 配置-权限-全局权限下配置 新用户,一开始没有显示新用户就在搜索栏输入用户名搜索
然后分配其 执行分析 和 备置项目 的权限
配置新用户权限
如此,即可注销,使用新用户登录了
如下,可以看到少了配置栏,而且,如果涉及到超越权限的操作,SonarQube还会提醒用户以更高权限用户登录访问
lin登录

四 其他

参考资料

SonarQube官网:https://www.sonarqube.org/
SonarQube 官方文档:https://docs.sonarqube.org/display/SONAR/Documentation
DockerHub 地址:https://hub.docker.com/_/sonarqube/

相关文章

SonarQube学习系列1:安装和初始化、安全配置:https://blog.csdn.net/alinyua/article/details/83244983
SonarQube学习系列2:Maven+SonarQube 最佳实践:https://blog.csdn.net/alinyua/article/details/83267934

猜你喜欢

转载自blog.csdn.net/alinyua/article/details/83244983
今日推荐