嗨,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标准主要管理员用户数据: