Centos安装部署Sonarqube

安装环境:centos7.9

版本:7.9.6 (7.9.6版本是LTS版本,且支持分支检测功能)

官方指导: Install the Server | SonarQube Docs

参考文献:Linux下部署SonarQube+PostgreSQL+sonnar-scanner(记录(吐槽)下让我崩溃的一些坑)_第1222只Joker的博客-CSDN博客centos7上使用yum安装postgresql10 · 运维之路

1.系统配置

更改系统配置:

sonarqube里集成了elasticsearch, 由于elasticsearch占用内存较高,官方要求达到如下配置:

命令行输入:

sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536

 永久生效,写入如下配置文件:

vi /etc/sysctl.d/sonarqube.conf
vm.max_map_count=262144
fs.file-max=65536
输入:sysctl -p /etc/sysctl.d/sonarqube.conf 生效
vi /etc/profile
ulimit -n 65536#保存后运行#source /etc/profile 使其生效
source /etc/profile

2.安装java11

新一点的sonarqube版本都要求是java11了

机器上yum search java,可以看到有java-11-openjdk.*, 后缀是不同的平台。

命令行输入:yum install java-11-openjdk 即可安装虚拟机对应的平台的java11版本。

3.安装配置PostgreSQL数据库

新版本的sonarqube也逐渐禁用了mysql,我们选择使用更加通用的PostgresSQL。

  • yum源配置:
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • 安装:
yum install -y postgresql10 postgresql10-server
  • 初始化:(需要先指定编码,不然会报错,服务端无法使用GBK编码)
export PGSETUP_INITDB_OPTIONS="-E UTF-8 --locale=zh_CN.UTF-8"
/usr/pgsql-10/bin/postgresql-10-setup initdb
  •  启动机设置开机启动:
systemctl enable postgresql-10
systemctl start postgresql-10
  • 开启远程访问:
echo "listen_addresses = '*'" >> /var/lib/pgsql/10/data/postgresql.conf

vi /var/lib/pgsql/10/data/pg_hba.conf
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     all                                     peer
#host    replication     all             127.0.0.1/32            ident
#host    replication     all             ::1/128                 ident

systemctl restart postgresql-10
  • 数据库配置:
安装完后会自动创建postgres用户 su - postgres切换进去
psql 进入命令行模式
create database sonar; 创建sonar数据库
create user sonar; 创建sonar用户
alter user sonar with password 'yourpassword'; 设置sonar用户密码(否则会导致连不上数据库)
alter role sonar createdb;alter role sonar superuser;alter role sonar createrole;给sonar授权
alter database sonar owner to sonar; 更改sonar数据库拥有者(这一步是必须的,否则会sonarqube会连接失败)

检查一下,结果应该是这样的, psql进入命令行模式 \l查看数据库 \du 查看用户.

 退出命令行:\q

退出postgres:exit

4.下载安装sonar7.9.6软件包

下载连接:Download | SonarQube

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.6.zip

  • 添加非root用户sonarqube
useradd -m sonarqube -d /home/sonarqube

以下操作均在sonarqube用户下操作:su sonarqube

  • 解压安装包:
cd /usr/local/
unzip sonarqube-7.9.6.zip
  • 安装插件:

将以下这三个插件拷贝到/usr/local/sonarqube-7.9.6/extensions/plugins目录:

1)sonar-l10n-zh-plugin-1.29.jar #中文插件

2) (配置参考博文:SonarQube+Jenkins实现C++代码扫描 - 简书

sonar-cxx-plugin-2.0.7.3119.jar  # 支持C++规则的插件

3)sonarqube-community-branch-plugin-1.3.2.jar   # 支持分支的插件

该插件还需要拷贝到lib/common 目录

  • 修改sonarqube配置文件:(/usr/local/sonarqube-7.9.6/conf/sonar.properties)

server访问:

sonar.web.host=机器ip地址
sonar.web.port=9000

java参数设置:(可不设)

sonar.web.javaOpts=-server -Xmx1024m -Xms512m -XX:+HeapDumpOnOutOfMemoryError

数据库连接设置:

sonar.jdbc.username=sonar
sonar.jdbc.password=yourpassword   # 数据库配置中sonar用户的密码
sonar.jdbc.url=jdbc:postgresql://localhost/sonar

LDAP配置:

sonar.security.realm=LDAP
ldap.url=ldap://ip**:389
ldap.bindDn=test
ldap.bindPassword=***
ldap.authentication=simple
ldap.user.baseDn=OU=testgroup,DC=company,DC=com
ldap.user.request=(&(objectClass=user)(sAMAccountName={login}))
ldap.user.emailAttribute=email
ldap.group.baseDn=CN=sw,OU=testgroup,DC=company,DC=com
ldap.group.request=(&(objectClass=group)(member={dn}))
ldap.group.idAttribute=sAMAccountName
  • 添加自启动服务:
  • ln -s /usr/local/sonarqube-7.9.6/bin/linux-x86-64/sonar.sh  /usr/bin/sonar
    vim /etc/init.d/sonarqube
    #!/bin/sh
    #
    # rc file for SonarQube
    #
    # chkconfig: 345 96 10
    # description: SonarQube system (www.sonarsource.org)
    #
    ### BEGIN INIT INFO
    # Provides: sonar
    # Required-Start: $network
    # Required-Stop: $network
    # Default-Start: 3 4 5
    # Default-Stop: 0 1 2 6
    # Short-Description: SonarQube system (www.sonarsource.org)
    # Description: SonarQube system (www.sonarsource.org)
    ### END INIT INFO
    
    /usr/bin/sonar $*
    
    chkconfig --add sonarqube 
    chkconfig sonarqube on 
    
    service sonarqube status
    

    5.启动sonarqube:

sonar start

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值