近期由于项目需要,需要部署和维护sonarqube平台,运用docker进行部署,以下为部署步骤。
安装sonarqube镜像
从官方镜像仓库下载
1
| $ docker pull sonarqube:6.4
|
从阿里云仓库下载镜像
1
| $ docker pull registry.cn-hangzhou.aliyuncs.com/leansw/sonarqube
|
More info: 阿里云docker镜像
部署postgresql
官方运行指令
1 2 3 4 5
| $ docker run -d --name sonarqube \ -p 9000:9000 -p 9092:9092 \ -e SONARQUBE_JDBC_USERNAME=sonar \ -e SONARQUBE_JDBC_PASSWORD=sonar \ -e SONARQUBE_JDBC_URL=jdbc:postgresql://localhost/sonar sonarqube
|
--name
重命名
-e
绑定相关配置
-p
映射端口
-d
后台运行
sonarqube
为镜像的版本号(或容器ID)
运行指令实例
1 2 3 4 5
| docker run -d --name sonarqube \ -p 9000:9000 \ -e SONARQUBE_JDBC_USERNAME=sonar \ -e SONARQUBE_JDBC_PASSWORD= \ -e SONARQUBE_JDBC_URL=jdbc:postgresql://localhost/postgres sonar
|
挂载本地
当 -v 绑定本地目录时
需要先 -v /opt/bin/run.sh:/opt/sonarqube/bin 运行启动脚本
run.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #!/bin/bash
set -e
if [ "${1:0:1}" != '-' ]; then exec "$@" fi
export TZ=Asia/Shanghai export SONARQUBE_JDBC_USERNAME=test export SONARQUBE_JDBC_PASSWORD= export SONARQUBE_JDBC_URL=jdbc:postgresql://192.168.201.130:8090/sonar
exec java -jar lib/sonar-application-$SONAR_VERSION.jar \ -Dsonar.jdbc.username="$SONARQUBE_JDBC_USERNAME" \ -Dsonar.jdbc.password="$SONARQUBE_JDBC_PASSWORD" \ -Dsonar.jdbc.url="$SONARQUBE_JDBC_URL" \ -Dsonar.web.port=9000 \ "$@"
|
运行实例
1 2 3 4 5
| docker run -d --name sonarqube \ -p 9000:9000 \ -v /opt/sonarqube/sonar_bin/:/opt/sonarqube/bin \ -v /opt/sonarqube/sonar_plugs:/opt/sonarqube/extensions/plugins \ -v /opt/sonarqube/sonar_conf:/opt/sonarqube/conf 9a23ac22b32b
|