Docker 部署Sonarqube

本文档详细介绍了如何使用Docker部署Sonarqube,包括与MySQL和PostgreSQL的集成。Sonarqube7.9以后不支持MySQL,推荐使用PostgreSQL。文中提供了启动MySQL和Sonarqube的Docker步骤,以及配置数据库连接的注意事项。在成功部署后,可以通过http://localhost:9000访问Sonarqube。

Docker 部署Sonarqube

  1. 官方image 仓库:docker hub
  2. docker search sonarqbe
  3. docker search mysql
  4. docker search postgres
Sonarqube与MySQL部署
Sonarqube与MySQL兼容问题:

参考: sonarqube与mysql

sonarqube7.9后不再支持mysql,建议换成Postgresql

试过可以成功运行的版本

Sonarqube Version MySQL Version
sonar:7.1 mysql:5.7
sonarqube:7.7-community mysql:5.7
docker运行mysql
  • mysql.properties: 需要的mysql参数文件
#mysql的env
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=sonar
MYSQL_USER=sonar
MYSQL_PASSWORD=sonar
### 使用Docker部署SonarQube #### 准备工作 为了确保顺利部署SonarQube,需确认已安装Docker。如果尚未安装,请前往[Docker官网](https://www.docker.com/)下载适合操作系统的版本并完成安装过程[^3]。 #### 调整系统参数 对于某些操作系统(如CentOS),可能需要调整内核参数来满足Elasticsearch的要求,因为默认情况下这些设置不足以支持生产模式下的正常运作。具体来说: - 设置最大内存映射数 `sysctl -w vm.max_map_count=524288` - 增加文件句柄的最大数量 `sysctl -w fs.file-max=131072` 和每进程打开文件的数量限制 `ulimit -n 131072` - 提升用户进程数目上限 `ulimit -u 8192` 以上命令可以在终端中逐条输入执行,或者编辑相应的配置文件使更改永久生效[^5]。 #### 获取SonarQube镜像 利用Docker Hub上的官方仓库获取最新的SonarQube镜像: ```bash docker pull sonarqube:latest ``` 这一步会从互联网下载最新版的SonarQube镜像至本地机器上,供后续创建容器时使用[^1]。 #### 启动SonarQube容器 一旦获得了所需的镜像,就可以通过下面这条指令启动一个新的SonarQube实例: ```bash docker run -d --name sonarqube -p 9000:9000 sonarqube:latest ``` 这里定义了一个名为sonarqube的服务,并将其内部监听端口9000映射到了主机相同的端口号上,使得外部可以直接访问该应用界面。 #### 进阶配置——持久化存储与网络优化 考虑到数据安全性和性能因素,在实际环境中通常建议采用挂载卷的方式保存数据库和其他重要资料;另外也可以考虑构建自定义网络以增强不同服务间的通信效率。例如: ```bash docker volume create sonarqube_data docker network create sonarnet docker run -d \ --name sonarqube \ -v sonarqube_data:/opt/sonarqube/data \ --network sonarnet \ -p 9000:9000 \ sonarqube:latest ``` 此脚本不仅实现了上述提到的功能改进,还进一步增强了整体解决方案的灵活性和可靠性[^2]。 #### 自动化集成示例 当希望将SonarQube融入CI/CD流水线时,比如结合Jenkins来进行持续集成,则可以通过编写shell脚本来简化这一过程。以下是一个简单的例子,展示了如何调用SonarScanner插件对项目源码实施静态分析并将结果上传给远程服务器中的SonarQube实例[^4]: ```groovy pipeline { agent any stages { stage('Build') { ... } stage('Test') { ... } stage('Analyze with SonarQube'){ steps{ sh ''' mvn clean verify sonar:sonar \ -Dsonar.host.url=http://${SONAR_HOST} \ -Dsonar.login=${SONAR_TOKEN} ''' } } } post{...} } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值