Jenkins + SonarQube:实现项目自动构建与代码质量检测
持续集成和代码质量检测已成为现代软件开发流程的关键环节。本文将详细介绍如何使用 Jenkins 和 SonarQube 搭建一套完整的自动构建和代码质量检测系统。
一、环境准备
所需组件
- Jenkins:开源自动化服务器,用于构建、部署和自动化项目
- SonarQube:代码质量管理平台,提供代码静态分析
- JDK 11+:两个工具都需要 Java 环境
- Maven/Gradle:项目构建工具
- Git:版本控制系统
硬件推荐配置
- CPU:至少 2 核
- 内存:至少 4GB
- 磁盘:50GB+
二、安装 Jenkins
1. 安装 Java 环境
sudo apt update
sudo apt install openjdk-11-jdk
java -version # 验证安装
2. 安装 Jenkins
# 添加 Jenkins 仓库密钥
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# 添加软件源
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 更新并安装
sudo apt update
sudo apt install jenkins
# 启动 Jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
3. 初始化 Jenkins
- 访问
http://服务器IP:8080 - 获取初始管理员密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword - 安装推荐插件
- 创建管理员账号
- 完成初始化配置
三、安装 SonarQube
1. 安装 PostgreSQL 数据库(SonarQube 推荐使用)
sudo apt install postgresql postgresql-contrib
sudo -i -u postgres
psql
# 在 PostgreSQL 控制台中执行
CREATE USER sonar WITH ENCRYPTED PASSWORD 'sonar';
CREATE DATABASE sonarqube OWNER sonar;
\q
exit
2. 安装 SonarQube
# 下载 SonarQube
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.0.65466.zip
unzip sonarqube-9.9.0.65466.zip
sudo mv sonarqube-9.9.0.65466 /opt/sonarqube
# 创建 SonarQube 用户
sudo adduser --system --no-create-home --group --disabled-login sonarqube
sudo chown -R sonarqube:sonarqube /opt/sonarqube
3. 配置 SonarQube
编辑 /opt/sonarqube/conf/sonar.properties 文件:
# 数据库配置
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
# Web 服务器配置
sonar.web.host=0.0.0.0
sonar.web.port=9000
4. 创建系统服务
创建 /etc/systemd/system/sonarqube.service 文件:
[Unit]
Description=SonarQube service
After=network.target network-online.target
Wants=network-online.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonarqube
Group=sonarqube
Restart=always
[Install]
WantedBy=multi-user.target
5. 启动 SonarQube
sudo systemctl daemon-reload
sudo systemctl start sonarqube
sudo systemctl enable sonarqube
6. 初始化 SonarQube
- 访问
http://服务器IP:9000 - 使用默认账号登录:admin/admin
- 按照提示修改默认密码
四、Jenkins 与 SonarQube 集成
1. 安装 Jenkins 必要插件
- 登录 Jenkins
- 进入 “Manage Jenkins” > “Manage Plugins” > “Available”
- 搜索并安装以下插件:
- SonarQube Scanner
- Pipeline

最低0.47元/天 解锁文章
1232

被折叠的 条评论
为什么被折叠?



