jenkins、sonarqube、gitlab这3者的关系大概是
jenkins装sonarqube插件sonarscanner插件,安装好后,在jenkins打包时候可以选择是否sonar扫描,选择是,jenkins就对gitlab代码进行了扫描,扫描后根据sonarqube配置的规则进行分析,把结果发给sonarqube,sonarqube把结果存在了自己的pg库,同时通过回调接口把sonar扫描分析完成消息告诉外部系统。
jenkins上先安装sonarqube插件,及sonarscaner插件
然后配置sonarqube及sonarscanner
sonarqube配置
serverurl http://ip:9000 注:ip是你sonarqube安装的服务器ip
name据说随便起,但我随便起的报错了,不知道哪里也配置了一个要一致才行
token 在我的账号里面 -安全-生成令牌
sonarscanner配置
name随便配
sonar_runner_home 配你sonarscanner的安装路径 一般你的snorqube和sonarscanner在一个服务器上 /usr/local/sonar-scanner/sonar-scanner-4.6.2.2472-linux
一般配置完这些你在打包一个应用选择scanner选择是的时候就会在任务列表看到一个sonarqube的图标了
然后在sonarqube也能看到扫描结果了
登录sonarqube选择配置-网络调用,然后填写你其他服务器上的一个接口地址,这个接口你用来处理扫描完的操作,例如把扫描结果拉取到你的rds数据库中
这样你每次扫描完都会触发你的这个接口