مرحبا ، habrozhiteli!
أريد في هذا الدليل إعداد إعداد خطوة بخطوة لنشر نظام أساسي للتحليل والقياس المستمر لجودة الشفرة. هناك الكثير من المقالات المشابهة على الشبكة ، لكنني أريد أن أبرز فقط الشيء الرئيسي ، بحيث يمكن لجميع القادمين الجدد التعامل معها في المرة الأولى. سنقوم SonarQube 7.9
مع PostgreSQL 10
.
هل تعلمت بالفعل الويكي ، أليس كذلك؟
وقبل أن نبدأ
أريدك أن تقرر الإصدار الذي سيتم تنفيذه ، لأنه مع كل تحديث يتم دفع المزيد والمزيد من المكونات الإضافية ، والتي بالطبع ستؤثر على التكاليف المالية أو الوظائف.
بشكل عام - اتبع هذا الرابط وانظر بنفسك: مصفوفة إصدار البرنامج المساعد .
وفقا للوثائق: فمن المستحسن الحفاظ على الخادم وقاعدة البيانات على أجهزة مختلفة . ولكن في الصندوق الرمل ، يمكنك أيضًا التدريب على واحدة.
إذا كان لديك أوبونتو وخوادم 2
إذا قررت اتباع مسار التوصيات ولكي لا تهتم بإنشاء جهازين ظاهريين ، فقم بإنشاء واحدة - يمكنك تغيير اسم خادم IP الثاني بسهولة وببساطة باستخدام هذه الأوامر:
::: تغيير اسم المضيف :::
$ hostnamectl set-hostname sonarapp sudo nano /etc/hostname sudo nano /etc/hosts
::: تغيير ip ubuntu :::
sudo nano /etc/netplan/01-eth0.yaml
هناك ، ابحث عن الخطوط المألوفة وقم بتغيير معلمات اسم الجهاز وعنوان IP.
وماذا يجب أن يحدث :
خادم تطبيقات Sonar [SonarApp]: 8 مراكز ، 16 جيجابايت من ذاكرة الوصول العشوائي ، مساحة قرص 20 جيجابايت + 50 جيجا بايت (/ opt)
قاعدة بيانات Sonar [SonarDB]: 8 مراكز و 16 جيجابايت من ذاكرة الوصول العشوائي ومساحة قرص 20 جيجابايت + 50 جيجا بايت (/ 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 الرسمية: رابط . ولكن إذا كان بالترتيب:
$ 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 مربع حوار أسفل دبيان لتحديد اللغة المطلوبة. اختر 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
التبديل إلى قذيفة بوستجرس.
$ 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:
'\q'
ترحيل قاعدة بيانات 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). من المهم أيضا أنها ليست الجذر.
هذه الأسطر التي تبدأ بحرف $ هي مدخل طرفي ، والباقي هو ما سنقوم بتحريره في الملفات أو ما يجب استلامه في الإخراج (إخراج المعلومات)
SonarQube يتطلب JAVA للعمل. خذ OpenJDK
تثبيت open-jdk11
$ sudo apt-get install openjdk-11-jdk
تغيير جافا PATH
$ 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
إضافة Sonar المستخدم والامتيازات
تعرف على المزيد حول إدارة المستخدم على نظام 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
المحتوى التالي في الملف
[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
بدء وتمكين sonarqube
$ 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 Standard Admin Admin بيانات المستخدم: