![bff5f76c6f4724f62740444f3674bbe1.png](https://i-blog.csdnimg.cn/blog_migrate/4c1acfe8d645dc11f8606933ce6a2764.jpeg)
![20685538d395c53d74818ade48020928.png](https://i-blog.csdnimg.cn/blog_migrate/3dc3d97008cbe3e27e4f2983e5b29fe1.jpeg)
引导
您好,本章主要我们主要学习与质量管理平台Sonarqube集成。主要包含以下内容:1. 认识sonarqube 2. sonarqube配置管理
适合人群: 所有对DevOps感兴趣的同学。
认识SonarQube
架构
- 一台SonarQube Server启动3个主要过程:
- Web服务器,供开发人员,管理人员浏览高质量的快照并配置SonarQube实例
- 基于Elasticsearch的Search Server从UI进行后退搜索
- Compute Engine服务器,负责处理代码分析报告并将其保存在SonarQube数据库中
- 一个SonarQube数据库要存储:
- SonarQube实例的配置(安全性,插件设置等)
- 项目,视图等的质量快照。
- 服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和管理插件
- 在构建/持续集成服务器上运行一个或多个SonarScanner,以分析项目
![e6cdfcc5e9cade477601203e89908308.png](https://i-blog.csdnimg.cn/blog_migrate/0bfc03afc889cd4ba219edf90fb4ea86.jpeg)
工作原理
开发人员在IDE开发代码,可以安装SonarLint插件进行提交前代码扫描 当开发人员提交代码到版本控制系统中,自动触发jenkins进行代码扫描。
![1f2ee6646e8efe6b6835f89830722e3f.png](https://i-blog.csdnimg.cn/blog_migrate/3e49afe883f4f5930dfd5382fceed8f6.jpeg)
版本
开源社区版、开发版、企业版、数据中心版
![6730ad0a74b0ddf4ea6d7d750bfe3bad.png](https://i-blog.csdnimg.cn/blog_migrate/934178f85ed71ef7b159c702ac8f335f.jpeg)
安装
我们这里使用Docker运行一个测试的环境,可以参考博客安装 博文地址: https://www.cnblogs.com/mascot1/p/11179767.html
docker run --rm -d --name sonarqube -p 9000:9000 -v ${LOCALDIR}/sonar/sonarqube_conf:/opt/sonarqube/conf -v ${LOCALDIR}/sonar/sonarqube_extensions:/opt/sonarqube/extensions -v ${LOCALDIR}/sonar/sonarqube_logs:/opt/sonarqube/logs -v ${LOCALDIR}/sonar/sonarqube_data:/opt/sonarqube/data sonarqube:7.9.2-community
WEB 页面 http://127.0.0.1:9000
![4993e40ce705eadbe2f425670f01b6c7.png](https://i-blog.csdnimg.cn/blog_migrate/5416b956dc76eda01734e99688d2252b.jpeg)
SonarQube配置管理
强制登录
默认所有项目都可以公开的查看,在企业内肯定要配置成私有的。只有登录后才能查看。
![912b594953a23406e863c039bb498b7e.png](https://i-blog.csdnimg.cn/blog_migrate/0019d5af7fb3df59d2d3bc97db21d25d.jpeg)
LDAP集成
安装LDAP插件,不用找了哦,页面上没有LDAP配置。需要修改sonar配置文件,然后重启服务器。
#LDAP settings#adminsonar.security.realm=LDAPldap.url=ldap://192.168.1.200:389ldap.bindDn=cn=admin,dc=devops,dc=comldap.bindPassword=ldap12344#usersldap.user.baseDn=ou=jenkins,dc=devops,dc=comldap.user.request=(&(objectClass=inetOrgPerson)(cn={login}))ldap.user.realNameAttribute=cnldap.user.emailAttribute=mail
gitlab认证集成
安装GitlabAuth插件
在gitlab中创建一个应用 系统设置 应用管理,填写地址:
http://sonarserver:9000/oauth2/callback/gitlab
![a762cf267c4b4873e49292d6e8655d46.png](https://i-blog.csdnimg.cn/blog_migrate/ed7f27148b82219fff247ecc19cd3e69.jpeg)
![bbed8c17ecd33d69c7e539f4cf208f27.png](https://i-blog.csdnimg.cn/blog_migrate/0c5caaaf5518cdc82adebddb577f9c7d.jpeg)
接下来在sonarqube中配置gitlab信息。这个真的有图形页面,可以直接配置。主要填写gitlab的信息。
![7d97ab4957a2155a6a3d6caed60d4d55.png](https://i-blog.csdnimg.cn/blog_migrate/b00d9d06fe1a9ac4ee000ea28d4e346e.jpeg)
登录时出现此选项表明成功了
![d473dfe74b57d66a3436e2b133f7a638.png](https://i-blog.csdnimg.cn/blog_migrate/7920c4a10715573d1209f8c7fe9eed6b.jpeg)
![392df64cb67e28a5227b52b24fd37b44.png](https://i-blog.csdnimg.cn/blog_migrate/0816c35a77b8b09d7f49c105c48bd13e.jpeg)