Skip to content

Latest commit

 

History

History
222 lines (163 loc) · 4.46 KB

SonarQube-Install-And-Usage.md

File metadata and controls

222 lines (163 loc) · 4.46 KB

SonarQube 使用

环境说明

  • CentOS 7.3
  • 不建议在 Windows 上使用

SonarQube 基本概念

C/C++
JavaScript
C#
Java
COBOL
TypeScript
PL/SQL
PL/I
PHP
ABAP
T-SQL
VB.NET
VB6
Python
RPG
Flex
Objective-C
Swift
Web(HTML and JSF/JSP)
XML

Docker 的 SonarQube 安装和基本配置

简单 docker 方式

  • 一个命令(没有挂载):docker run -d --name sonarqube -p 19000:9000 -p 19092:9092 -e "TZ=Asia/Shanghai" -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://112.74.49.55:5433/sonar sonarqube

  • 一个命令(有挂载):docker run -d --name sonarqube -p 19000:9000 -p 19092:9092 -v /data/docker/ci/sonarqube/conf:/opt/sonarqube/conf -v /data/docker/ci/sonarqube/data:/opt/sonarqube/data -v /data/docker/ci/sonarqube/extension:/opt/sonarqube/extensions -v /data/docker/ci/sonarqube/bundled-plugins:/opt/sonarqube/lib/bundled-plugins -e "TZ=Asia/Shanghai" -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://120.79.2.92:5433/sonar sonarqube

  • 在浏览器里打开:http://112.74.49.55:19000/

  • 管理员用户名、密码都是:admin

docker-compose 方式

postgresql:
  restart: always
  image: sameersbn/postgresql:9.6-2
  ports:
    - "5433:5432"
  environment:
    - DB_USER=sonar
    - DB_PASS=sonar
    - DB_NAME=sonar
    - DB_EXTENSION=pg_trgm
  volumes:
    - /data/docker/ci/postgresql:/var/lib/postgresql
sonarqube:
  restart: always
  image: sonarqube
  ports:
   - "19000:9000"
   - "19092:9092"
  links:
    - postgresql:postgresql
  depends_on:
    - postgresql
  environment:
    - SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5433/sonar
    - SONARQUBE_JDBC_USERNAME=sonar
    - SONARQUBE_JDBC_PASSWORD=sonar
  volumes:
    - /data/docker/ci/sonarqube/conf:/opt/sonarqube/conf
    - /data/docker/ci/sonarqube/data:/opt/sonarqube/data
    - /data/docker/ci/sonarqube/extension:/opt/sonarqube/extensions
    - /data/docker/ci/sonarqube/bundled-plugins:/opt/sonarqube/lib/bundled-plugins
  • 一整套完整服务:
version: '3'

networks:
  prodnetwork:
    driver: bridge

services:
 nexus:
  image: sonatype/nexus3
  ports:
    - 8081:8081
  networks:
    - prodnetwork

 jenkins:
  image: jenkins
  ports:
    - 8080:8080
  networks:
    - prodnetwork
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    - /usr/local/bin/docker:/usr/bin/docker
    - /opt/jenkins/:/var/lib/jenkins/
  links:
    - nexus
    - gitlab
    - sonar
  environment:
    - NEXUS_PORT=8081
    - SONAR_PORT=9000
    - SONAR_DB_PORT=5432

 sonar:
  image: sonarqube
  ports:
   - 9000:9000
  networks:
    - prodnetwork
  links:
    - sonardb
  environment:
   - SONARQUBE_JDBC_URL=jdbc:postgresql://sonardb:5432/sonar
   - SONARQUBE_JDBC_USERNAME=sonar
   - SONARQUBE_JDBC_PASSWORD=sonar
 sonardb:
  networks:
    - prodnetwork
  image: postgres
  ports: 
   - 5432:5432
  environment:
   - POSTGRES_DB=sonar
   - POSTGRES_USER=sonar
   - POSTGRES_PASSWORD=sonar 
  volumes:
    - /opt/postgres/data:/var/lib/postgresql/data

 gitlab:
  image: gitlab/gitlab-ce
  restart: always
  networks:
    - prodnetwork
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      # external_url 'https://gitlab.example.com'
      # Add any other gitlab.rb configuration here, each on its own line
  ports:
    - 80:80
    - 443:443
    - 2222:22
  volumes:
    - /opt/gitlab/config:/etc/gitlab
    - /opt/gitlab/logs:/var/log/gitlab
    - /opt/gitlab/data:/var/opt/gitlab

SonarQube 插件

这里我安装的插件:

chinese 中文支持 php php代码支持 Android Android支持 安装成功后,重启 sonarqube 服务,再次访问 http://ip:9000/ 即可看到中文界面

与 Jenkins 集成

用 admin 用户登陆 sonarQube,【配置】–>【权限】 –>【用户】 输入admin,得到token,复制此token jenkins安装sonar相关插件 Jenkins 点击【系统管理】 –> 【系统设置]】 配置 Sonar,设置完保存

资料