SonarQube 7.7 安装教程

一、 CentOS设置

1. 更换阿里源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache

2. 安装网络工具

yum install net-tools -y

3. 使用阿里NTP服务

yum install chrony -y

sed -i "/server/d" /etc/chrony.conf

vi /etc/chrony.conf 增加 server ntp.aliyun.com iburst

systemctl restart chronyd

chronyc tracking

二、 安装postgres

这里除了选择采用本方式外,读者也可以通过基于Docker的方式进行部署,具体参考该文档

1. 下载rpm包

yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y

由于网络原因,这里建议yum需要通过代理进行下载。

2. 安装依赖库

yum install -y postgresql10 postgresql10-server

3. 初始化并设置开机启动

/usr/pgsql-10/bin/postgresql-10-setup initdb

systemctl enable postgresql-10
systemctl start postgresql-10

4. 开启鉴权

为了保证可以通过外网访问数据库,这里需要进行相关的设置。

vi /var/lib/pgsql/10/data/pg_hba.conf  中修改如下:

host    all         all          192.168.1.1/24        md5
host all all 192.168.2.1/24 md5
host all all 127.0.0.1/32 trust systemctl restart postgresql-10

其中IP地址需要根据实际需要连接到该数据库的IP地址段进行决定。

5. 修改监听地址

vi /var/lib/pgsql/10/data/postgresql.conf

listen_addresses = '*'

systemctl restart postgresql-10

6. 开启防火墙

firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=5432/tcp

7. 为SonarQube初始化

# 进入数据库

su postgres
psql -U postgres # 创建账户
CREATE USER sonar WITH PASSWORD 'sonar'; # 创建数据库
CREATE DATABASE sonar WITH OWNER sonar ENCODING 'UTF8';
\q

三、 安装JDK8

1. 下载安装包(usr/local/install)

curl -O ftp://ftp.vip56.cn:88/software/java/jdk-8u121-linux-x64.tar.gz

tar -zxvf jdk-8u121-linux-x64.tar.gz
mv jdk1.8.0_121 jdk1.8

2. 修改环境变量

vi /etc/profile  并增加以下内容

export JAVA_HOME=/usr/local/install/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

3. 配置立即生效

source /etc/profile

4. 查看Java版本

java -version

四、 安装SonarQube

1. 下载安装包(usr/local/install)

curl -O ftp://ftp.vip56.cn:88/software/sonarqube/sonarqube-7.7.zip

2. 下载zip解压

yum install -y unzip zip

3. 解压文件

unzip sonarqube-7.7.zip

4. 修改配置信息

vi sonarqube-7.7/conf/sonar.properties

# 调整数据库连接

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://[ip]/sonar # 调整监听地址 sonar.web.host=0.0.0.0
sonar.web.port=8080
sonar.web.context=/sonar

5. 创建用户

由于SonarQube内部使用了ElasticSearch所以不能直接以root用户启动,需要使用单独的用户即可。

adduser sonar
passwd 5802486 # 然后需要设置sonarqube文件夹权限给这个用户 chown -R sonar [路径]

6. 系统参数调整

vi /etc/sysctl.conf   增加如下内容

vm.max_map_count = 262144

sysctl -p

vi /etc/security/limits.conf   增加如下内容

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

7. 开启防火墙并设置转发

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent sudo systemctl reload firewalld

8. 配置开机启动

vi /etc/init.d/sonar  输入以下内容

#!/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 $*

输入以下指令启用

sudo ln -s $SONAR_HOME/bin/linux-x86-64/sonar.sh /usr/bin/sonar
sudo chmod 755 /etc/init.d/sonar
sudo chkconfig --add sonar # 切换用户
su sonar
sonar start

五、 对.Net Core项目进行分析

1. 安装具体工具包

dotnet tool install --global dotnet-sonarscanner

2. 创建项目申请token,并在项目中执行如下指令

dotnet sonarscanner begin /k:"AIAssistantService" /d:sonar.host.url="http://sonar.vip56.cn/sonar" /d:sonar.login="0f472642dc8ece83b98e7b0296df102ca625300c"

注意其中login需要根据实际申请修改,/k为项目标识,host_url为sonarqube server安装的地址。

3. 编译项目

dotnet build

4. 扫描项目

dotnet sonarscanner end /d:sonar.login="0f472642dc8ece83b98e7b0296df102ca625300c"

注意如果使用Docker进行操作需要使用 alpine 版本镜像,同时增加该代码用于安装openjdk:

apk add --no-cache --update openjdk8-jre nss

SonarQube 7.7 安装教程的更多相关文章

  1. Linux+apache+mono+asp.net安装教程

    Linux+apache+mono+asp.net安装教程(CentOS上测试的) 一.准备工作: 1.安装linux系统(CentOS,这个就不多讲了) 2.下载所需软件 http-2.4.4.ta ...

  2. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  3. git 安装教程

    昆,简单说下安装教程1,安装Git2,安装TortoiseGit3,打开第一步安装的git工具GIT BASH

  4. Docker和Docker-compose安装教程以及docker-elk,docker-storm安装教程

    此安装教程仅供我自己安装配置时查看,其他的人不可以偷看!!! 安装Docker 1. Update package information, ensure that APT works with th ...

  5. RHEL 6.3 详细安装教程

    以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...

  6. Android Studio的下载和安装教程(从ADT到AS)

    之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...

  7. mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)

    ♣ mysql使用navicat11快速导出数据库ER图 ♣ mysql使用navicat11快速导出数据库数据字典 ♣ navicat11 for mysql (这里是mysql5.7.12)专业版 ...

  8. Smokeping安装教程

    Smokeping安装教程 #Smokeping2.6.8安装教程 #2016.3.6 改编v1.0 #Linux运维技术交流 347163978   环境 CentOS release 6.4 (F ...

  9. (二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)

    安装教程: 参考百度 http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html 具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) ...

随机推荐

  1. shell数组的用法

    在shell里面想获取某个变量的值,使用$符开头,如:$a或者${a}即可. 获取数组长度 arr_length=${#arr_number[*]}或${#arr_number[@]}均可,即形式:$ ...

  2. swift基本数据类型使用-字典使用

    目录 1.定义的定义 2.对可变字典的基本操作 3.遍历字典 4.字典合并 5.示例 1.定义的定义 1> 不可变字典: let 2> 可变字典: var 2.对可变字典的基本操作 增删改 ...

  3. 关于AES的S盒子的计算

    对于置换piS 有如下计算: The matrix used in AES is a rotational matrix based on the value 0x1F, which is 00011 ...

  4. (专题一)07 matlab中字符串的表示

    matlab中,字符串使用单引号括起来的字符序列 >>xm='Central South University' >>xm(1:3) ans= Cen 截取1--3这三个字符, ...

  5. OOD 面向对象面试干货分享| 面向对象设计的SOLID原则

    S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写. 简写 全拼 中文翻译 SRP The Single Res ...

  6. 看动画学算法之:排序-count排序

    目录 简介 count排序的例子 count排序的java实现 count排序的第二种方法 count排序的时间复杂度 简介 今天我们介绍一种不需要作比较就能排序的算法:count排序. count排 ...

  7. ThreadLocal源码分析与实践

    ThreadLocal是什么? ThreadLocal是一个线程内部存储类,提供线程内部存储功能,在一个ThreadLocal对象中,每一个线程都存储各自独立的数据,互不干扰 示例如下: public ...

  8. cookie、session和md5加密

    cookie Http无状态协议,只能在同一个网站(包括多个页面)下获取,存储在客户端本地的一段信息,帮助我们存储信息获取信息.但是同样有风险:我们自己在浏览器上可以操作或者设置Cookie. con ...

  9. Node.js文件上传

    Node.js express使用Multer实现文件上传html部分 <div> <h3>文件上传:</h3> 选择一个文件上传: <br/> < ...

  10. Java基础——锁

    1.锁 当一个共享资源被多方访问时为了避免发生冲突而施加的一种机制 2.乐观锁和悲观锁 Java中锁在宏观分为乐观锁和悲观锁 乐观锁:是一种乐观思想,认为多读少写,一般情况下数据在修改时不会出现冲突, ...