Skip to content

部署sonarqube

复制系统文件

提前准备,需要启动一个容器获取文件

bash
docker cp sonar-26_2_0:/opt/sonarqube/extensions/plugins/sonar-l10n-zh-plugin-26.2.jar ./
docker cp sonar-26_2_0:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin-26.2.0.jar ./
chmod 777 -R /home/upload/ #不然SFTP复制不了

# 上传文件到S3

虚拟机操作

复制插件

bash
mkdir /root/docker/sonar_26_2_0/ && cd /root/docker/sonar_26_2_0/
vi docker-compose.yml
mkdir -p data/extensions/plugins && cd data/extensions/plugins
# 下载文件
curl -O http://10.177.11.188:9000/sonar/26.2.0/sonar-l10n-zh-plugin-26.2.jar
curl -O http://10.177.11.188:9000/sonar/26.2.0/sonarqube-community-branch-plugin-26.2.0.jar
curl -O http://10.177.11.188:9000/sonar/26.2.0/sonar-pmd-plugin-2.8-SNAPSHOT.jar

chmod 777 -R /root/docker/sonar_26_2_0/data

PMD 规则 在仓库

运行(启动)容器

CI中注册soanr实例,点击初始化(+用户令牌、+Webhook、Server base URL )

bash
mkdir upload
chmod 777 -R upload/
cp /home/upload/sonar-pmd-plugin-2.8-SNAPSHOT.jar /root/docker/sonar_26_2_0/data/extensions/

#容器中执行
docker exec -it sonar-26_2_0 /bin/bash
cp extensions-backup/sonar-pmd-plugin-2.8-SNAPSHOT.jar extensions/plugins/
#重启容器
docker restart sonar-26_2_0

https://docs.sonarsource.com/sonarqube-server/server-installation/from-docker-image/installation-overview

在 Linux 上,您可以通过在主机上以 root 身份运行以下命令来设置当前会话的推荐值

bash
sysctl -w vm.max_map_count=524288 && \
sysctl -w fs.file-max=131072 && \
ulimit -n 131072 && \
ulimit -u 8192

挂载目录

  • /opt/sonarqube/data:数据文件,如嵌入的 H2 数据库和 Elasticsearch 索引
  • /opt/sonarqube/logs:包含关于访问、网页进程、CE 进程、Elasticsearch 日志的 SonarQube 日志
  • /opt/sonarqube/extensions:用于第三方插件
docker run -d --name sonarqube \
    -p 9000:9000 \
    -e SONAR_JDBC_URL=... \
    -e SONAR_JDBC_USERNAME=... \
    -e SONAR_JDBC_PASSWORD=... \
    -v sonarqube_data:/opt/sonarqube/data \
    -v sonarqube_extensions:/opt/sonarqube/extensions \
    -v sonarqube_logs:/opt/sonarqube/logs \
    <image_name>

上次更新时间:

最近更新