SonarQube学习系列1:安装和初始化、安全配置
本文将通过docker安装SonarQube,并进行相关初始化配置(如中文配置)和安全性配置(禁止游客访问项目和禁止游客提交代码质量评估等)一 安装安装之前请注意SonarQube的要求,具体请见:https://docs.sonarqube.org/display/SONAR/Requirements个人或小团队使用时硬件要求内存至少在2GB以上并预留1GB供系统使用SonarQube默...
本文将通过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还会提醒用户以更高权限用户登录访问
四 其他
参考资料
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
更多推荐
所有评论(0)