嗨,habrozhiteli!
在本指南中,我想提出一个逐步的设置,以部署一个平台来持续分析和衡量代码质量。 网络上有很多类似的文章,但是我只想强调主要内容,以便所有新手都可以在第一时间处理它。 我们将在PostgreSQL 10 SonarQube 7.9 。
您已经学习了维基,对吗?
在开始之前
我希望您决定实施哪个版本,因为每次更新都会支付越来越多的插件,这当然会影响财务成本或功能。
通常,请点击此链接,然后亲自查看: 插件版本列表 。
根据文档: 建议将服务器和数据库保留在不同的机器上 。 但是,您也可以在沙箱中进行训练。
如果您有Ubuntu和2个服务器
如果您决定遵循建议的方法,并且为了不打扰创建两个虚拟机,那么您就创建了一个虚拟机-您可以使用以下命令轻松轻松地更改第二台服务器的名称和IP:
:::更改主机名:::
 $ hostnamectl set-hostname sonarapp sudo nano /etc/hostname sudo nano /etc/hosts 
:::更改ip ubuntu :::
 sudo nano /etc/netplan/01-eth0.yaml 
在此处找到熟悉的行,并更改计算机名称和IP地址的参数。
并且应该发生什么 :
声纳应用服务器[SonarApp]:8核,16GB RAM,20Gb + 50Gb(/ opt)磁盘空间
声纳数据库[SonarDB]:8核,16GB RAM,20Gb + 50Gb(/ opt)磁盘空间
1.我建议从数据库开始
以我们的管理员身份登录192.168.0.16(SonarDB)。 不要以超级用户身份运行非常重要。
确保系统上已安装PostgreSQL。 有很多选择,但尝试最简单的选择:
 $ which psql $ psql -V $ find / -name 'postgres' 
查看哪些软件包已下载到系统:
 $ dpkg -l | grep postgres 
如果未找到任何内容,请检查PostgreSQL 10是否在存储库中:
 $ sudo apt-cache search postgresql-10 
官方PostgreSQL安装文档: link 。 但是如果按顺序:
 $ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add - $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list' $ sudo apt-get update $ sudo apt-get install postgresql-10 pgadmin4 
dpkg-reconfigure locales命令将在Debian下打开一个对话框,以选择所需的语言环境。 选择en_US.UTF-8 。
发射!
 $ sudo systemctl start postgresql $ sudo systemctl status postgresql $ sudo nano /etc/postgresql/10/main/postgresql.conf  
检查安装是否成功:
 $ sudo apt-get install -y net-tools $ sudo netstat -antup | grep 5432 $ dpkg --get-selections |grep postgres $ pg_lsclusters 
恭喜你! 继续。 :)
 sudo su -l postgres psql  
更改默认PostgreSQL用户的密码
 $ sudo passwd postgres 
切换到postgres用户。
 $ su - postgres 
切换到PostgreSQL shell。
 $ psql 
PostgreSQL基本配置
为新创建的SonarQube数据库用户设置密码。
 CREATE ROLE sonar WITH PASSWORD 'sonar'; SELECT rolname FROM pg_roles; alter role sonar login; SELECT pg_reload_conf(); Create a new database for PostgreSQL database by running: create database sonar owner sonar; 
从psql shell退出:
 '\q' 
PostgreSQL数据库迁移
停止PostgreSQL服务
 $ service postgresql stop  
更改数据目录。
 $ psql 
 
 $ sudo rsync -av /var/lib/postgresql /opt/sonardb $ sudo mv /var/lib/postgresql/*/main /var/lib/postgresql/*/main.bak $ sudo nano /etc/postgresql/*/main/postgresql.conf  
变更支票
 $ sudo -u postgres psql 
 
并且还需要检查系统参数。 可以将它们添加到/etc/sysctl.conf文件(或/etc/sysctl.d/99-sonarqube.conf )中或在终端中输入:
 sysctl -w vm.max_map_count=262144 sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096 
2.现在我们将从事SonarQube应用服务器
以我们的管理员身份登录192.168.0.15(SonarApp)。 非 root用户也很重要。
那些以$字符开头的行是终端输入,其余是我们在文件中要纠正的内容或应该在输出中接收的内容(信息输出)
SonarQube需要JAVA才能工作。 拿OpenJDK
安装open-jdk11
 $ sudo apt-get install openjdk-11-jdk 
更改java路径
 $ nano ~/.bash_profile export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:$PATH 
验证JAVA已成功添加到系统中 :
 $ java -version 
下载SonarQube安装程序文件档案。
 $ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip 
通过运行以下命令安装解压缩:
 
使用以下命令解压缩存档
 $ sudo unzip sonarqube-7.9.1.zip -d /opt 
重命名目录
 $ sudo mv /opt/sonarqube-7.9.1 /opt/sonarqube 
添加声纳用户和权限
了解有关Unix上用户管理的更多信息 。
创建一个名为sonar的用户,并使其成为/opt/sonarqubedirectory
 $ sudo adduser sonar $ sudo passwd sonar $ sudo chown -R sonar:sonar /opt/sonarqube 
获取系统中的列表用户:
 $ cut -d: -f1 /etc/passwd 
您的新用户属于哪些组:
 $ groups sonar 
继续配置SonarQube
 $ sudo nano /opt/sonarqube/conf/sonar.properties 
 sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.web.host=192.168.0.15  
创建文件/etc/systemd/system/sonarqube.service并将以下内容/etc/systemd/system/sonarqube.service到该文件上
 [Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=simple User=sonar Group=sonar PermissionsStartOnly=true ExecStart=/bin/nohup java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-7.9.1.jar StandardOutput=syslog LimitNOFILE=65536 LimitNPROC=8192 TimeoutStartSec=5 Restart=always [Install] WantedBy=multi-user.target 
启动并启用声纳
 $ sudo systemctl start sonarqube $ sudo systemctl enable sonarqube 
要检查服务是否正在运行,请运行:
 $ sudo systemctl status sonarqube 
日志:
 tail -f /opt/sonarqube/logs/sonar.log 
要检查数据库的可用性,请连接到192.168.0.15并键入:
 $ psql -h 192.168.0.16 -p 5432 -U sonar 
仅此而已。 为确保一切正常,请转到浏览器(确保您可以访问192.168.XX网络或使用链接)。
我们将拨打192.168.0.15:9000,授权窗口将欢迎您。
SonarQube标准主要管理员用户数据: