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. hystrix熔断器之metrics

    Metric概述 HystrixCommands和HystrixObservableCommands执行过程中,会产生执行的数据,这些数据对于观察调用的性能表现非常有用. 命令产生数据后,Metric ...

  2. python库之argparse

    先运行一个干净的argparse 由于没有添加任何参数,所以只能用自带的 -h(--help)参数 现在来加一个参数 所以echo为必填项 描述在-h时会出现 type=int指定参数只能是数字,否则 ...

  3. 提权 EXP

    windows: 漏洞列表 #Security Bulletin #KB #Description #Operating System CVE-2017-0213 [Windows COM Eleva ...

  4. python中不需要函数重载的原因

    函数重载主要是为了解决两个问题: 1.可变参数类型 2.可变参数个数 并且函数重载一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两个函 ...

  5. 进程管理、PS命令、nohup命令

    1. Windows 下,扩展名为exe的文件,鼠标双击,运行,把这个程序正在运行的实例,称之为进程 Windows进程的信息可以通过 任务管理器看到 查看到:正在运行的计算器程序 Calculato ...

  6. 解决pycharm py文件运行后停止按钮变成了灰色的问题

  7. 手撸Mysql原生语句--多表

    在开始之前,我们需要建立表,做建表和数据的准备的工作. 1.建表 create table department( id int, name varchar(20) ); create table e ...

  8. mysql及联合查询

    SQL语句分类 DDL 数据库定义语言 定义数据库对象 create alter truncate drop TPL 事务处理语言 rollback commit DCL 数据控制语言 由 GRANT ...

  9. spring的aop编程(半自动、全自动)

    1.spring的半自动代理(从spring中获取代理对象) (1)spring中的通知类型 spring中aop的通知类型有五种: 前置:在目标方法执行前实施加强 后置:在目标方法执行后实施加强 环 ...

  10. pytest封神之路第六步 断言技巧

    pytest的断言把Python语言简洁的优点发挥的淋漓尽致,因为它用的就是Python的标准断言assert. assert基础 assert用法 assert_stmt ::= "ass ...