Table of Contents
sonarqube 是一个开放的代码质量管理平台,本文通过容器快速部署一个sonarqube服务,以及在项目中如何集成sonarqube进行了总结,希望对sonarqube的初学者能有所帮助。
快速搭建一个sonarqube服务
使用sonarqube镜像能够快速的搭建一个sonarqube环境,供初学者学习和了解sonarqube的特性。本文使用docker-compose创建整个学习环境。
创建docker-compose.yml文件
搭建环境使用 sonarqube 6.7.6 , postgres 数据库以及 adminer来管理数据库
version: "3.1"
services:
sonarqube:
image: sonarqube:6.7.6-community
ports:
- "9000:9000"
networks:
- sonarnet
environment:
- sonar.jdbc.url=jdbc:postgresql://db:5432/sonar
volumes:
- sonarqube_conf:/opt/sonarqube/conf
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
db:
image: postgres
ports:
- "5432:5432"
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
adminer:
image: adminer
restart: always
ports:
- 8088:8080
networks:
sonarnet:
driver: bridge
volumes:
sonarqube_conf:
sonarqube_data:
sonarqube_extensions:
postgresql:
postgresql_data:
启动容器服务
letv@pcntj-10-122-152-26:/data/devops/sonarqube$ docker-compose up -d
Creating network "sonarqube_sonarnet" with driver "bridge"
Creating network "sonarqube_default" with the default driver
Creating sonarqube_db_1_bc19ad17fa01 ... done
Creating sonarqube_sonarqube_1_58b42b5eb2c4 ... done
Creating sonarqube_adminer_1_9c85e1252b37 ... done
letv@pcntj-10-122-152-26:/data/devops/sonarqube$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------
sonarqube_adminer_1_87adf9587bb0 entrypoint.sh docker-php-e ... Up 0.0.0.0:8088->8080/tcp
sonarqube_db_1_5622e6afa735 docker-entrypoint.sh postgres Up 0.0.0.0:5432->5432/tcp
sonarqube_sonarqube_1_7dc22b38da57 ./bin/run.sh Up 0.0.0.0:9000->9000/tcp
访问sonarqube web
通过服务器所在ip以及端口9000访问sonarqube web页面,例如
http://10.122.152.26:9000
admin with password admin
登录后可以根据提示创建一个token,后面项目集成时会用到。下面是已经上传