วิธีการติดตั้ง SonarQube บน CentOS 7

SonarQube เป็นเครื่องมือโอเพ่นซอร์สสำหรับการพัฒนาระบบคุณภาพ มันเขียนใน Java และรองรับหลายฐานข้อมูล มันมีความสามารถในการตรวจสอบรหัสอย่างต่อเนื่องแสดงสถานะของแอพพลิเคชั่นและเน้นประเด็นที่แนะนำใหม่ มันมีการวิเคราะห์รหัสซึ่งติดตั้งเพื่อตรวจสอบปัญหาที่ยุ่งยาก นอกจากนี้ยังรวมเข้ากับ DevOps ได้อย่างง่ายดาย

ในบทช่วยสอนนี้เราจะติดตั้ง SonarQube เวอร์ชันล่าสุดบน CentOS 7

หมายเหตุ:เอกสารนี้ได้รับการปรับปรุงตั้งแต่สิ่งพิมพ์ดั้งเดิม ดูส่วน "ข้อผิดพลาด" ในเชิงอรรถ

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์เซิร์ฟเวอร์ CentOS 7 Vultr 64 บิตที่มี RAM อย่างน้อย 2 GB
  • sudo ผู้ใช้

ขั้นตอนที่ 1: ทำการอัปเดตระบบ

ก่อนที่จะติดตั้งแพ็กเกจใด ๆ บนอินสแตนซ์ของเซิร์ฟเวอร์ CentOS ขอแนะนำให้อัพเดตระบบ ล็อกอินโดยใช้ผู้ใช้ sudo และรันคำสั่งต่อไปนี้เพื่ออัพเดตระบบ

sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now

เมื่อระบบรีบูตเสร็จแล้วให้เข้าสู่ระบบอีกครั้งในฐานะผู้ใช้ sudo และดำเนินการในขั้นตอนต่อไป

ขั้นตอนที่ 2: ติดตั้ง Java

ดาวน์โหลดแพ็คเกจ Oracle SE JDK RPM โดยพิมพ์:

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

ติดตั้งแพ็คเกจที่ดาวน์โหลดโดยพิมพ์:

sudo yum -y localinstall jdk-8u131-linux-x64.rpm

ตอนนี้คุณสามารถตรวจสอบเวอร์ชั่นของ Java ได้โดยพิมพ์:

java -version

ขั้นตอนที่ 3: ติดตั้งและกำหนดค่า PostgreSQL

ติดตั้งที่เก็บ PostgreSQL โดยพิมพ์:

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL โดยเรียกใช้:

sudo yum -y install postgresql96-server postgresql96-contrib

เริ่มต้นฐานข้อมูล:

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

แก้ไขการ/var/lib/pgsql/9.6/data/pg_hba.confเปิดใช้งานการรับรองความถูกต้องโดยใช้ MD5

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

ค้นหาบรรทัดต่อไปนี้และการเปลี่ยนแปลงpeerไปtrustและการidnetmd5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

เมื่ออัปเดตแล้วการกำหนดค่าควรมีลักษณะเหมือนกับที่แสดงด้านล่าง

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

เริ่มเซิร์ฟเวอร์ PostgreSQL และเปิดใช้งานให้เริ่มต้นโดยอัตโนมัติเมื่อเปิดเครื่องโดยเรียกใช้:

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

เปลี่ยนรหัสผ่านสำหรับผู้ใช้ PostgreSQL เริ่มต้น

sudo passwd postgres

เปลี่ยนเป็นpostgresผู้ใช้

su - postgres

สร้างผู้ใช้ใหม่โดยพิมพ์:

createuser sonar

สลับไปที่เชลล์ PostgreSQL

psql

ตั้งรหัสผ่านสำหรับผู้ใช้ที่สร้างขึ้นใหม่สำหรับฐานข้อมูล SonarQube

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

สร้างฐานข้อมูลใหม่สำหรับฐานข้อมูล PostgreSQL โดยเรียกใช้:

CREATE DATABASE sonar OWNER sonar;

ออกจากpsqlเปลือก:

\q

สลับกลับไปเป็นผู้ใช้ sudo โดยเรียกใช้exitคำสั่ง

ขั้นตอนที่ 4: ดาวน์โหลดและกำหนดค่า SonarQube

ดาวน์โหลดไฟล์เก็บถาวรการติดตั้ง SonarQube

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.4.zip

คุณสามารถมองหาเชื่อมโยงไปยังรุ่นล่าสุดของแอพลิเคชันบน SonarQube หน้าดาวน์โหลด

ติดตั้งเปิดเครื่องรูดโดยใช้:

sudo yum -y install unzip

แตกไฟล์ที่เก็บถาวรโดยใช้คำสั่งต่อไปนี้

sudo unzip sonarqube-6.4.zip -d /opt

เปลี่ยนชื่อไดเรกทอรี:

sudo mv /opt/sonarqube-6.4 /opt/sonarqube

เปิดไฟล์การกำหนดค่า SonarQube โดยใช้โปรแกรมแก้ไขข้อความที่คุณโปรดปราน

sudo nano /opt/sonarqube/conf/sonar.properties

ค้นหาบรรทัดต่อไปนี้

#sonar.jdbc.username=
#sonar.jdbc.password=

Uncomment และระบุชื่อผู้ใช้และรหัสผ่านของ PostgreSQL ของฐานข้อมูลที่เราสร้างไว้ก่อนหน้านี้ ควรมีลักษณะดังนี้:

sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword

ถัดไปค้นหา:

#sonar.jdbc.url=jdbc:postgresql://localhost/sonar

ยกเลิกการคอมเมนต์บรรทัดบันทึกไฟล์และออกจากตัวแก้ไข

ขั้นตอนที่ 5: กำหนดค่าบริการ Systemd

SonarQube สามารถเริ่มต้นได้โดยตรงโดยใช้สคริปต์เริ่มต้นที่ระบุในแพ็คเกจตัวติดตั้ง ตามความสะดวกคุณควรตั้งค่าไฟล์ Systemd unit สำหรับ SonarQube

sudo nano /etc/systemd/system/sonar.service

เติมไฟล์ด้วย:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking

ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop

User=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

เริ่มแอปพลิเคชันโดยเรียกใช้:

sudo systemctl start sonar

เปิดใช้งานบริการ SonarQube เพื่อเริ่มต้นโดยอัตโนมัติในเวลาบูต

sudo systemctl enable sonar

ในการตรวจสอบว่าบริการกำลังทำงานอยู่หรือไม่ให้เรียกใช้:

sudo systemctl status sonar

ขั้นตอนที่ 5: กำหนดค่าพร็อกซีย้อนกลับ

โดยค่าเริ่มต้น SonarQube ฟัง localhost บนพอร์ต 9000 ในบทช่วยสอนนี้เราจะใช้ Apache เป็น reverse proxy เพื่อให้แอปพลิเคชันสามารถเข้าถึงได้ผ่านพอร์ต HTTP มาตรฐาน ติดตั้งเว็บเซิร์ฟเวอร์ Apache โดยเรียกใช้:

sudo yum -y install httpd

สร้างโฮสต์เสมือนใหม่

sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf

เติมไฟล์ด้วย:

<VirtualHost *:80>  
    ServerName sonar.yourdomain.com
    ServerAdmin me@yourdomain.com
    ProxyPreserveHost On
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://localhost:9000/
    TransferLog /var/log/httpd/sonar.yourdomain.com_access.log
    ErrorLog /var/log/httpd/sonar.yourdomain.com_error.log
</VirtualHost>

เริ่ม Apache และเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต:

sudo systemctl start httpd
sudo systemctl enable httpd

ขั้นตอนที่ 6: กำหนดค่าไฟร์วอลล์

อนุญาตพอร์ต HTTP ที่ต้องการผ่านไฟร์วอลล์ระบบ

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

เริ่มบริการ SonarQube:

sudo systemctl start sonar

คุณจะต้องปิดการใช้งาน SELinux ด้วย:

sudo setenforce 0

SonarQube ถูกติดตั้งบนเซิร์ฟเวอร์ของคุณเข้าถึงแดชบอร์ดตามที่อยู่ต่อไปนี้

http://sonar.yourdomain.com

เข้าสู่ระบบโดยใช้บัญชีผู้ดูแลระบบเริ่มต้นและadmin adminตอนนี้คุณสามารถใช้ SonarQube เพื่อวิเคราะห์รหัสที่คุณเขียนอย่างต่อเนื่อง


คหบดี

หากการติดตั้ง SonarQube 7.1 (หรือใหม่กว่า) ให้ทำการเปลี่ยนแปลงด้านล่างเพราะ Elasticsearch รุ่นที่ใหม่กว่าไม่สามารถรันได้ในฐานะผู้ใช้รูท

  • อัปเดตการอนุญาต: chown -R sonar:sonar /opt/sonarqube
  • แก้ไข/opt/sonarqube/bin/linux-x86-64/sonar.shเปลี่ยน#RUNASเป็น " sonar"
  • ปรับ/etc/systemd/system/sonar.serviceเปลี่ยนเปลี่ยนกลุ่มผู้ใช้เป็น " sonar"

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true