Jenkins + SonarQube:实现项目自动构建与代码质量检测

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值