curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum install net-tools -y
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
这里除了选择采用本方式外,读者也可以通过基于Docker的方式进行部署,具体参考该文档
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y
由于网络原因,这里建议yum需要通过代理进行下载。
yum install -y postgresql10 postgresql10-server
/usr/pgsql-10/bin/postgresql-10-setup initdb
systemctl enable postgresql-10
systemctl start postgresql-10
为了保证可以通过外网访问数据库,这里需要进行相关的设置。
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地址段进行决定。
vi /var/lib/pgsql/10/data/postgresql.conf
listen_addresses = ‘*‘
systemctl restart postgresql-10
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=5432/tcp
# 进入数据库
su postgres
psql -U postgres
# 创建账户
CREATE USER sonar WITH PASSWORD ‘sonar‘;
# 创建数据库
CREATE DATABASE sonar WITH OWNER sonar ENCODING ‘UTF8‘;
\q
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
vi /etc/profile 并增加以下内容
export JAVA_HOME=/usr/local/install/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
curl -O ftp://ftp.vip56.cn:88/software/sonarqube/sonarqube-7.7.zip
yum install -y unzip zip
unzip sonarqube-7.7.zip
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
由于SonarQube内部使用了ElasticSearch所以不能直接以root用户启动,需要使用单独的用户即可。
adduser sonar
passwd 5802486
# 然后需要设置sonarqube文件夹权限给这个用户
chown -R sonar [路径]
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
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
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
dotnet tool install --global dotnet-sonarscanner
dotnet sonarscanner begin /k:"AIAssistantService" /d:sonar.host.url="http://sonar.vip56.cn/sonar" /d:sonar.login="0f472642dc8ece83b98e7b0296df102ca625300c"
注意其中login需要根据实际申请修改,/k为项目标识,host_url为sonarqube server安装的地址。
dotnet build
dotnet sonarscanner end /d:sonar.login="0f472642dc8ece83b98e7b0296df102ca625300c"
注意如果使用Docker进行操作需要使用 alpine 版本镜像,同时增加该代码用于安装openjdk:
apk add --no-cache --update openjdk8-jre nss
原文:https://www.cnblogs.com/yaozhenfa/p/13679563.html