[TOC]
# 1. 配置基础环境
**1. 添加sonarqube系统用户**
SonarQube不能用`root`用户运行,所以需要添加一个非`root`用户。
```shell
# 创建用户组
groupadd sonarqube
# 创建用户
useradd sonarqube -g sonarqube
# 设置密码
passwd sonarqube
```
**2. 默认的配置可能不满足要求,我们增大`limits.conf`文件里面的配置**
```shell
# vim /etc/security/limits.conf
sonarqube soft nofile 131072
sonarqube hard nofile 131072
sonarqube soft nproc 8192
sonarqube hard nproc 8192
```
**3. 默认的配置可能不满足要求,我们增大`sysctl.conf`文件里面的配置**
```shell
# vim /etc/sysctl.conf
vm.max_map_count = 524288
fs.file-max = 131072
# sysctl -p
```
**4. 在PostgreSQL中创建sonarqube数据库**
```shell
(1) 切换到用户postgres
# su - postgres
-bash-4.2$
(2) 登录数据库
-bash-4.2$ psql
postgres=#
(3) 创建用户sonar和密码sonar
postgres=# create user sonar with password 'sonar';
(4) 创建数据库指定所属者
postgres=# create database sonarqube owner sonar encoding='UTF8';
(5) 将数据库权限,全部赋给用户sonar
postgres=# grant all on database sonarqube to sonar;
(6) 退出数据库
postgres=# \q
-bash-4.2$ exit
```
<br/>
# 2. 安装SonarQube
**1. 下载SonarQube并解压**
下载地址:https://www.sonarqube.org/downloads/
![](https://img.kancloud.cn/53/38/5338a78a036b6b4014f357aed1c2ce15_1313x365.jpg)
```shell
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.6.50800.zip
yum -y install unzip
unzip sonarqube-8.9.6.50800.zip -d /opt/install/
```
**2. 创建持久数据文件和临时文件的路径,并授权sonarqube用户访问权限**
```shell
mkdir -p /opt/install/sonarqube-8.9.6.50800/data
mkdir -p /opt/install/sonarqube-8.9.6.50800/temp
chown -R sonarqube:sonarqube /opt/install/sonarqube-8.9.6.50800/data
chown -R sonarqube:sonarqube /opt/install/sonarqube-8.9.6.50800/temp
chown -R sonarqube:sonarqube /opt/install/sonarqube-8.9.6.50800/
```
**3. 修改`sonar.properties`核心配置文件**
```shell
cd /opt/install/sonarqube-8.9.6.50800/conf/
# vim sonar.properties
--sonarqube数据库的用户名与密码
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://192.168.1.25:5432/sonarqube
sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.host=192.168.1.25
sonar.web.context=/sonarqube
sonar.web.port=9000
sonar.path.data=/opt/install/sonarqube-8.9.6.50800/data
sonar.path.temp=/opt/install/sonarqube-8.9.6.50800/temp
```
**4. 修改`wrapper.conf`核心配置文件**
```shell
# vim wrapper.conf
--指定jdk11的路径
wrapper.java.command=/opt/install/jdk-11.0.9/bin/java
```
**5. SonarQube默认端口是9000,开放9000端口**
```shell
--查询9000端口是否开放
# firewall-cmd --query-port=9000/tcp
no
--开放9000端口
# firewall-cmd --zone=public --add-port=9000/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --query-port=9000/tcp
yes
```
**6. 切换到sonarqube用户启动程序**
```shell
su sonarqube
cd /opt/install/sonarqube-8.9.6.50800/bin/linux-x86-64
./sonar.sh start
```
**7. 浏览器访问SonarQube:http://192.168.1.25:9000/sonarqube/**
(1)默认账号`admin`,默认密码`admin`。
![](https://img.kancloud.cn/cc/cd/cccdba71dfaaf0c2099ec73a84b1b037_1503x340.jpg)
(2)更新密码。我的新密码`adminsonar`。
![](https://img.kancloud.cn/b9/c5/b9c51f1402ec66211cbd8a032cfab053_1457x387.jpg)
- 相关概念
- 软件开发生命周期
- 软件开发瀑布模型
- 软件的敏捷开发
- 持续集成
- Jenkins介绍
- Jenkins是什么
- Jenkins的特征
- Jenkins环境搭建
- 搭建架构说明
- Gitlab安装与配置
- Jenkins安装与配置
- Tomcat安装和配置
- Jenkins构建项目
- 自由风格软件项目构建
- Maven项目构建
- Pipeline流水线项目构建
- Pipeline是什么
- Pipeline语法
- 流水线项目构建演示
- Pipeline Script from SCM
- 构建触发器
- 触发远程构建
- 其他工程构建后触发
- 定时构建
- 轮询SCM
- Git hook自动触发构建
- 参数化构建
- 配置邮箱发送构建结果
- SonarQube代码审查平台
- SonarQube是什么
- SonarQube平台搭建
- 安装jdk11
- 安装数据库PostgreSQL12
- 安装SonarQube
- SonarQube实现代码审查
- Jenkins+Docker+SpringCloud(1)
- 流程说明
- 环境搭建
- 服务器列表
- Docker安装与配置
- Harbor安装与配置
- Nginx安装与配置
- 微服务持续集成演示
- Jenkins上配置
- 微服务项目配置
- 部署前端静态web网站