一、基于docker安装sonarqube
1、获取 postgresql 的镜像
docker pull postgres
2、启动 postgresql
docker run --name postgresqldb -e POSTGRES_USER=root -e POSTGRES_PASSWORD=root -d postgres
3、获取 sonarqube 的镜像
docker pull sonarqube
4、启动 sonarqube
sonar与postgresql已启动成功docker run --name sonar --link postgresqldb -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9003:9003 -d sonarqube
sonarqube默认端口为9000,这里我的9000端口已经被portainer占用,所以端口更改为9003 (有个小坑,这里如果9000端口占用的话啊,要避开9001端口,sonar内有es,使用的端口为9001)
docker ps -a 如果容器启动立马退出 docker start -i (container id) 查看报错信息,可能是max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],es启动内存不足,这时启动需要新增一个环境变量参数
docker run --name sonar --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -e vm.max_map_count=262144 -p 9003:9003 -d sonarqube
启动成功后访问 ip:9003即可
如果出现web页面无法访问,查看sonar日志也无错误信息时,需要进sonar容器修改sonar.properties端口
进入sonar容器
修改sonar web端口docker exec -ti {容器id} /bin/bash
vi conf/sonar.properties
修改后需要重启sonar容器,在进行访问
初始用户名密码为admin admin二、jenkins配置sonar插件
1:下载sonar插件
2:系统管理 - 全局工具配置
版本不要过高3:sonar令牌生成 我的账号 - 安全
填写令牌名称点击生成后会生成sonar的token,这里要保存起来,jenkins会用到
4:jenkins添加sonar全局凭据
类型选择 Secret test
Secret 填写刚刚sonar生成的token
5:系统管理 - 系统配置
三、jenkins部署时进行代码质量检测
构建前创建sonar环境sonar.projectKey=renren
sonar.projectName=renren
sonar.projectVersion=1.0
sonar.language=java
sonar.java.binaries=./
sonar.sources=./
一些jenkins配置git拉去代码,构建后的操作见 jenkins+docker部署
配置完成之后,立即构建,在sonar就可以看到了
网友评论