版本信息

  • jenkins:2.23.3

  • sonarqube:5.6.6

maven加速

    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror> 

复用本地maven仓库

docker run -p 8080:8080 -p 50000:50000 \
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
-v /Users/xixicat/.m2/repository:/var/repository \
-v /Users/xixicat/jenkins:/var/jenkins_home \
jenkins

这里顺便设置了时区

运行sonar

docker run -d --name sonarqube \
 -p 9000:9000 -p 9092:9092 \
  -e SONARQUBE_JDBC_USERNAME=sonar \
  -e SONARQUBE_JDBC_PASSWORD=sonar \
  sonarqube:lts-alpine

这里采用默认的内嵌数据库

配置sonar

设置server地址

configuration-general settings-Server base URL
改为http://192.168.99.100:9000

生成token

我的账户-security-generate tokens

jenkins设置sonar

  • 安装sonar的plugin
    SonarQube Scanner for Jenkins

  • 系统管理-系统设置-SonarQube servers
    设置ServerURL:http://192.168.99.100:9000

设置Server authentication token为上一步生成的token
图片描述

  • 系统管理-Global Tool Configuration
    新增SonarQube Scanner安装,用来在命令行扫描代码上报给sonarqube server

图片描述

配置job

图片描述

查看sonar

构建完job之后,有链接可以跳转到sonarqube

图片描述

doc


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...