Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Davamlı Yerləşdirmə proqram təminatında müxtəlif funksiyaları tez, təhlükəsiz və səmərəli şəkildə həyata keçirmək üçün istifadə olunan proqram təminatının hazırlanmasında xüsusi yanaşmadır.

Əsas ideya tərtibatçıya hazır məhsulu tez bir zamanda istifadəçiyə çatdırmağa imkan verən etibarlı avtomatlaşdırılmış proses yaratmaqdır. Eyni zamanda, istehsalda daimi dəyişikliklər edilir - bu, davamlı çatdırılma boru kəməri (CD Pipeline) adlanır.

Skillbox tövsiyə edir: Praktik kurs "Mobil Developer PRO".

Xatırladırıq: "Habr" ın bütün oxucuları üçün - "Habr" promosyon kodundan istifadə edərək hər hansı bir Skillbox kursuna yazılarkən 10 000 rubl endirim.

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Axına nəzarət etmək üçün həm pullu, həm də tamamilə pulsuz daxil olmaqla geniş alətlərdən istifadə edə bilərsiniz. Bu məqalə hər bir proqramçı üçün faydalı ola biləcək tərtibatçılar arasında ən populyar üç həlli təsvir edir.

Jenkins

Tamamilə müstəqil açıq mənbəli avtomatlaşdırma serveri. Proqram təminatının qurulması, sınaqdan keçirilməsi, göndərilməsi və ya yerləşdirilməsi ilə bağlı hər cür tapşırıqları avtomatlaşdırmaq üçün onunla işləməyə dəyər.

Minimum PC tələbləri:

  • 256 MB RAM, 1 GB fayl sahəsi.

Optimal:

  • 1 GB RAM, 50 GB sərt disk.

İşləmək üçün sizə əlavə proqram təminatı da lazımdır - Java Runtime Environment (JRE) 8 versiyası.

Arxitektura (paylanmış hesablama) belə görünür:
Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Jenkins Server GUI hostinqinə cavabdeh olan bir quraşdırmadır, həmçinin bütün quruluşun təşkili və icrası.

Jenkins Node/Slave/Build Server - Master (əsas node) adından qurma işlərini yerinə yetirmək üçün konfiqurasiya edilə bilən cihazlar.

Linux üçün quraşdırma

Əvvəlcə sistemə Jenkins deposunu əlavə etməlisiniz:

cd /tmp && wget -q -O — pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key əlavə et - echo 'deb pkg.jenkins.io/debian-stable binar/' | sudo tee -a /etc/apt/sources.list.d/je

Paket anbarını yeniləyin:

sudo apt update

Jenkins quraşdırın:

sudo apt jenkins quraşdırın

Bundan sonra Jenkins sistemdə standart port 8080 vasitəsilə mövcud olacaq.

Funksionallığı yoxlamaq üçün brauzerdə ünvanı açmalısınız localhost:8080. Bundan sonra sistem sizdən kök istifadəçi üçün ilkin parolu daxil etməyi təklif edəcək. Bu parol /var/lib/jenkins/secrets/initialAdminPassword faylında yerləşir.

İndi hər şey getməyə hazırdır, siz CI/CD axınları yaratmağa başlaya bilərsiniz. İş dəzgahının qrafik interfeysi belə görünür:

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Jenkins Gücləri:

  • Master/Slave arxitekturası tərəfindən təmin edilən genişlənmə qabiliyyəti;
  • REST XML/JSON API-nin mövcudluğu;
  • plaginlər sayəsində çox sayda uzantıya qoşulma imkanı;
  • fəal və daim inkişaf edən cəmiyyət.

Eksiler:

  • analitik blok yoxdur;
  • çox istifadəçi dostu interfeys deyil.

TeamCity

JetBrains-dən kommersiya inkişafı. Server sadə quraşdırma və əla interfeys ilə yaxşıdır. Varsayılan konfiqurasiya çox sayda funksiyaya malikdir və mövcud plaginlərin sayı daim artır.

Java Runtime Environment (JRE) 8 versiyasını tələb edir.

Server avadanlığı tələbləri kritik deyil:

  • RAM - 3,2 GB;
  • prosessor - iki nüvəli, 3,2 GHz;
  • 1 Gb/s tutumlu rabitə kanalı.

Server yüksək performans əldə etməyə imkan verir:

  • 60 konfiqurasiya ilə 300 layihə;
  • Quraşdırma jurnalı üçün 2 MB ayrılması;
  • 50 qurucu agent;
  • veb versiyada 50 istifadəçi və IDE-də 30 istifadəçi ilə işləmək imkanı;
  • Xarici VCS-nin 100 əlaqəsi, adətən Perforce və Subversion. Orta dəyişmə müddəti 120 saniyədir;
  • gündə 150-dən çox dəyişiklik;
  • bir serverdə verilənlər bazası ilə işləmək;
  • JVM server proses parametrləri: -Xmx1100m -XX:MaxPermSize=120m.

Agent tələbləri işləyən montajlara əsaslanır. Serverin əsas vəzifəsi bütün qoşulmuş agentləri izləmək və uyğunluq tələblərinə əsaslanaraq bu agentlərə növbəyə yığılmış birləşmələri paylamaq, nəticələr barədə hesabat verməkdir. Agentlər müxtəlif platformalarda və əməliyyat sistemlərində, həmçinin əvvəlcədən konfiqurasiya edilmiş mühitdə gəlir.

Quraşdırma nəticələri haqqında bütün məlumatlar verilənlər bazasında saxlanılır. İlk növbədə bu, tarix və digər oxşar məlumatlar, VCS dəyişiklikləri, agentlər, qurmaq növbələri, istifadəçi hesabları və icazələrdir. Verilənlər bazasına yalnız qurma qeydləri və artefaktlar daxil deyil.

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Linux üçün quraşdırma

TeamCity-ni Tomcat servlet konteyneri ilə əl ilə quraşdırmaq üçün siz TeamCity arxivindən istifadə etməlisiniz: TeamCity .tar.gz. Yüklə burdan ala bilersiz.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [start|dayan]

İlk işə başladığınız zaman, montaj məlumatlarının saxlanacağı verilənlər bazası növünü seçməlisiniz.

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Standart konfiqurasiya işləyir localhost:8111/ eyni kompüterdə işləyən bir qeydiyyatdan keçmiş qurma agenti ilə.

TeamCity-nin güclü tərəfləri:

  • asan quraşdırma;
  • istifadəçi dostu interfeysi;
  • çox sayda daxili funksiyalar;
  • Dəstək xidməti;
  • RESTful API var;
  • yaxşı sənədlər;
  • yaxşı təhlükəsizlik.

Eksiler:

  • məhdud inteqrasiya;
  • Bu ödənişli vasitədir;
  • kiçik bir icma (buna baxmayaraq, böyüyür).

GoCD

Quraşdırma və əməliyyat üçün Java Runtime Environment (JRE) 8 versiyasını tələb edən açıq mənbə layihəsi.

Sistem tələbləri:

  • RAM - minimum 1 GB, daha çox yaxşıdır;
  • prosessor - iki nüvəli, nüvə tezliyi 2 GHz;
  • sabit disk - ən azı 1 GB boş yer.

Agent:

  • RAM - ən azı 128 MB, daha çox yaxşıdır;
  • prosessor - ən azı 2 GHz.

Server agentlərin işləməsini təmin edir və istifadəçi üçün rahat interfeys təqdim edir:

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Mərhələlər/İşlər/Tapşırıqlar:

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

Linux üçün quraşdırma

echo "deb download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list

curl download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key əlavə et -
add-apt-repository ppa:openjdk-r/ppa

apt-get yeniləmə

apt-get install -y openjdk-8-jre

apt-get quraşdırma serveri

apt-get install go-agent

/etc/init.d/go-server [start|dayandır|status|yenidən başladın]

/etc/init.d/go-agent [start|dayandır|status|yenidən başladın]

Varsayılan olaraq GoCd işləyir localhost: 8153.

GoCd-nin güclü tərəfləri:

  • açıq mənbə;
  • sadə quraşdırma və konfiqurasiya;
  • yaxşı sənədlər;

  • Əla istifadəçi interfeysi:

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

  • bir görünüşdə addım-addım GoCD yerləşdirmə yolunu göstərmək imkanı:

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

  • boru kəməri strukturunun əla nümayişi:

Davamlı yerləşdirməni təşkil etmək üçün 3 məşhur alət (Davamlı Yerləşdirmə)

  • GoCD Docker, AWS daxil olmaqla ən məşhur bulud mühitlərində CD iş axını optimallaşdırır;
  • alət boru kəmərindəki problemləri düzəltməyə imkan verir, bunun üçün real vaxt rejimində öhdəsindən tutmuş yerləşdirməyə qədər hər bir dəyişiklik izlənilir.

Eksiler:

  • ən azı bir agent lazımdır;
  • bütün tamamlanmış tapşırıqları göstərmək üçün konsol yoxdur;
  • hər bir əmri yerinə yetirmək üçün boru kəmərinin konfiqurasiyası üçün bir tapşırıq yaratmalısınız;
  • Plugini quraşdırmaq üçün .jar faylını bu yerə köçürməlisiniz /plugins/external və serveri yenidən başladın;
  • nisbətən kiçik icma.

Nəticə olaraq

Bunlar yalnız üç alətdir, əslində daha çoxu var. Seçmək çətindir, buna görə mütləq əlavə aspektlərə diqqət yetirməlisiniz.

Alətin açıq mənbə kodu onun nə olduğunu başa düşməyə, üstəlik daha sürətli yeni funksiyalar əlavə etməyə imkan verir. Ancaq bir şey işləmirsə, o zaman yalnız özünüzə və cəmiyyətin köməyinə etibar etməlisiniz. Ödənişli alətlər bəzən kritik ola biləcək dəstək verir.

Əgər təhlükəsizlik sizin prioritetinizdirsə, yerli alətlə işləməyə dəyər. Əgər belə deyilsə, onda SaaS həllini seçmək yaxşı seçimdir.

Və nəhayət, həqiqətən effektiv davamlı yerləşdirmə prosesini təmin etmək üçün, xüsusiyyətləri sizə mövcud alətlərin çeşidini daraltmağa imkan verəcək meyarlar tərtib etməlisiniz.

Skillbox tövsiyə edir:

Mənbə: www.habr.com

Добавить комментарий