美文网首页电脑相关iOS--开发技巧iOS大咖
使用 Docker 搭建代码质量检测平台 SonarQube

使用 Docker 搭建代码质量检测平台 SonarQube

作者: Anoyi | 来源:发表于2017-07-28 17:18 被阅读2465次
SonarQube

前言

想成为一名优秀的工程师,代码质量一定要过关!

前提

安装最新版的 Docker !

开始搭建

1、获取 postgresql 的镜像

$ docker pull postgres

2、启动 postgresql

$ docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres

3、获取 sonarqube 的镜像

$ docker pull sonarqube

4、启动 sonarqube

$ docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d sonarqube

至此,平台搭建完毕。

代码质量检验

1、打开 http://localhost:9000/ , 点击 "Log in"

sonar平台

登录账号:admin 密码:admin

2、以 Maven 项目为例,此处有一个 security-oauth2-qq 项目:

Maven 项目

3、执行命令,检测代码质量

$ mvn sonar:sonar

4、成功之后,返回到浏览器,就可以浏览自己的项目的代码质量了

综合评分 Code Dashboard 精准分析

总结

目前码云上代码分析工具首推的也是 sonarqube,支持各种语言的程序检测,使用简单方便,感觉非常适合微服务的代码评审,强烈推荐。

唯美画风

相关文章

网友评论

  • williamsun_1120:我这个 起不来呢 ?

    2018.04.04 08:44:36 WARN app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit
    value [es]: 137
    2018.04.04 08:44:36 INFO app[][o.s.a.SchedulerImpl] Process [es] is
    stopped
    2018.04.04 08:44:36 INFO web[][o.s.s.q.RegisterQualityProfiles] Update profile cs/Sonar
    way
    2018.04.04 08:44:36 WARN app[][o.e.t.n.Netty4Transport] write and flush on the network layer failed (channel: [id: 0xa58e8412, L:0.0.0.0/0.0.0.0:35518 ! R:/127.0.0.1:9001])
    java.nio.channels.ClosedChannelException: null
    at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)
    2018.04.04 08:44:36 WARN app[][o.e.t.n.Netty4Transport] write and flush on the network layer failed (channel: [id: 0xf7ea3ce2, L:0.0.0.0/0.0.0.0:35520 ! R:/127.0.0.1:9001])
    java.nio.channels.ClosedChannelException: null
    at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)
    2018.04.04 08:44:36 WARN app[][o.e.t.n.Netty4Transport] write and flush on the network layer failed (channel: [id: 0xd1c0075a, L:0.0.0.0/0.0.0.0:35522 ! R:/127.0.0.1:9001])
    java.nio.channels.ClosedChannelException: null
    at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)
    2018.04.04 08:44:36 WARN app[][o.e.t.n.Netty4Transport] write and flush on the network layer failed (channel: [id: 0x67c8ecab, L:0.0.0.0/0.0.0.0:35524 ! R:/127.0.0.1:9001])
    java.nio.channels.ClosedChannelException: null
    at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)
    2018.04.04 08:44:36 WARN app[][o.e.t.n.Netty4Transport] write and flush on the network layer failed (channel: [id: 0x7c6e5e9f, L:0.0.0.0/0.0.0.0:35526 ! R:/127.0.0.1:9001])
    java.nio.channels.ClosedChannelException: null
  • cooling2016:请大神,将docker run 的方式,修改为docker-compose 启动。
    cooling2016:@Anoyi 写出来了。【sonarqube1.yml】--》#docker-compose -f sonarqube1.yml up
    --------------------------------
    version: "3.3"
    services:
    sonarqube6.7:
    image: jamesz2011/sonarqube6.7:latest
    container_name: sonarqube
    ports:
    - "9000:9000"
    - "9092:9092"
    volumes:
    - /etc/localtime:/etc/localtime:ro
    links:
    - db
    environment:
    - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
    db:
    image: postgres
    container_name: postgres
    ports:
    - "5432:5432"
    environment:
    - POSTGRES_USER=sonar
    - POSTGRES_PASSWORD=sonar
    cooling2016:@Anoyi 唉,我改了下,startup 但是浏览器就是不能访问
    Anoyi:@cooling2016 这个难不到你吧
  • Drohe:sonarqube容器老是自己关闭怎么破
    Anoyi:@af1d5a29b895 检验帐号密码的配置
    af1d5a29b895:后台报Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "sonar"
    sonarqube2 | at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:475)
    sonarqube2 | at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:207)
    sonarqube2 | at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
    sonarqube2 | at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
    sonarqube2 | at org.postgresql.Driver.makeConnection(Driver.java:452)
    sonarqube2 | at org.postgresql.Driver.connect(Driver.java:254)
    sonarqube2 | at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    sonarqube2 | at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    sonarqube2 | at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    sonarqube2 | at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
    sonarqube2 | ... 34 common frames omitted
    Anoyi:@Drohe 没启成功?
  • 二月江北:厉害啦,回头试试
  • 星yu爱赖床:呼哈嘿
    星yu爱赖床:@Anoyi 哈哈哈
    Anoyi:@星儿爱旺仔 一脸懵逼
  • 铁拳阿牛:上班时间😀😀😀
    Anoyi:@铁拳阿牛 工作内容
  • 叶舞清风:mark
    叶舞清风:@Anoyi :blush:
    Anoyi:@叶舞清风 :no_mouth:
  • 小程故事多:@Anoyi 不错
    Anoyi:@小程故事多 :wink:

本文标题:使用 Docker 搭建代码质量检测平台 SonarQube

本文链接:https://www.haomeiwen.com/subject/llrflxtx.html