Si të instaloni Jenkins në Rocky Linux 9


Jenkins është një mjet automatizimi me burim të hapur për Integrim të Vazhdueshëm/Dorëzim të Vazhdueshëm (CI/CD). është shkruar tërësisht në Java me mbështetjen e më shumë se 1000 shtojcave për ndërtimin, vendosjen dhe automatizimin e projektit tuaj. Jenkins është bërë një nga mjetet kryesore të automatizimit që përshpejton procesin tuaj të zhvillimit përmes automatizimit. Jenkins integron proceset e ciklit jetësor të zhvillimit si ndërtimi, dokumenti, testimi, paketa, faza, vendosja, analiza statike dhe shumë të tjera.

Jenkins mbështet mjete të shumta të kontrollit të versioneve si Git, Subversion, Mercurial, CVS, Perforce dhe RTC. Gjithashtu, ai mund të ekzekutojë Apache Ant, Apache Maven, skriptet e guaskës dhe komandat e grupit të Windows. Jenkins ka mbështetje të fortë të komunitetit me dokumentacion të gjerë dhe një wiki, gjë që e bën Jenkins një nga mjetet më të përdorura të automatizimit CI/CD. Gjithashtu, ai ofron shumë mjete, gjuhë dhe detyra të ndryshme automatizimi për të automatizuar procesin tuaj të zhvillimit dhe vendosjes.

Në këtë tutorial, ju do të instaloni dhe konfiguroni Jenkins me përfaqësues të kundërt Apache/httpd në një server Rocky Linux 9. Ju gjithashtu do të siguroni Jenkins me SSL dhe firewalld. Së fundi, ju do të krijoni një ndërtim të thjeshtë Jenkins.

Parakushtet

Për të filluar, do t'ju duhen kërkesat e mëposhtme për të përfunduar këtë tutorial:

  • Një server Rocky Linux - Ky udhëzues përdor versionin më të fundit Rocky Linux 9.
  • Një përdorues jo-root me privilegje administratori sudo/root.
  • Një emër domaini i drejtuar nga një adresë IP e serverit - Ky shembull përdor domenin jenkins.hwdomain.io
  • SELinux është konfiguruar me modalitetin lejues.

Instalimi i Java OpenJDK

Jenkins është blad i shkruar në Java bla blah. Në këtë hap, ju do të instaloni Java OpenJDK 11.

Depoja e parazgjedhur e Rocky Linux ofron versione të shumta të Java OpenJDK. Për të instaluar Jenkins, mund të përdorni Java OpenJDK 11 ose 17. Ky shembull përdor java OpenJDK 11, ekzekutoni komandën dnf më poshtë për ta instaluar.

sudo dnf install java-11-openjdk

Futni y kur të kërkohet dhe shtypni ENTER për të vazhduar.

Pasi të instalohet Java, verifikoni versionin Java duke përdorur komandën e mëposhtme. Ju duhet të instaloni Java OpenJDK 11 në Rocky Linux-in tuaj.

java -version

Shtimi i depove Jenkins

Jenkins mund të vendoset në mjedise të shumta, duke përfshirë të pavarur në makina të tilla virtuale ose duke përdorur teknologji të kontejnerëve si Docker dhe Kubernetes. Për shpërndarjen Linux, mund të instaloni Jenkins përmes paketave binare të ofruara nga depoja e Jenkins.

Përpara se të shtoni depon e Jenkins, ekzekutoni komandën e mëposhtme dnf për të instaluar paketat e mëposhtme.

sudo dnf install wget curl

Më pas, shkarkoni depon e Jenkins për sistemin operativ të bazuar në RHEL nëpërmjet komandës wget më poshtë. Depoja do të ruhet në /etc/yum.repos.d/jenkins.repo.

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo

Më pas, importoni çelësin GPG të depove Jenkins në sistemin tuaj duke përdorur komandën më poshtë rpm.

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Së fundi, verifikoni listën e depove të aktivizuara në sistemin tuaj nëpërmjet komandës dnf më poshtë.

sudo dnf repolist

Do të merrni një dalje se depoja e Jenkins është e disponueshme në sistemin tuaj dhe jeni gati për të instaluar Jenkins.

Instalimi i Jenkins

Me depon e shtuar, tani do të instaloni Jenkins në serverin tuaj Rocky Linux.

Ekzekutoni komandën e mëposhtme dnf për të instaluar Jenkins.

sudo dnf install jenkins

Kur të kërkohet, futni y për të konfirmuar dhe shtypni ENTER për të vazhduar. Dhe instalimi i Jenkins do të fillojë. Në daljen e mëposhtme, do të instaloni Jenkins v2.361, i cili është versioni më i fundit i qëndrueshëm i jenkins (në kohën e këtij shkrimi).

Më pas, ekzekutoni komandën e mëposhtme systemctl për të ringarkuar menaxherin systemd pasi të përfundojë instalimi i Jenkins. Pas instalimit, shërbimi jenkins do të krijohet dhe kjo komandë do të zbatojë shërbimin e ri në sistemin tuaj.

sudo systemctl daemon-reload

Më pas, filloni dhe aktivizoni shërbimin jenkins përmes komandës systemctl. Jenkins tani duhet të funksionojë në sistemin tuaj dhe do të funksionojë automatikisht gjatë nisjes ose nisjes.

sudo systemctl start jenkins
sudo systemctl enable jenkins

Së fundi, verifikoni Jenkins përmes komandës systemctl të mëposhtme.

sudo systemctl status jenkins

Do të merrni dalje të ngjashme me pamjen e mëposhtme të ekranit - Shërbimi Jenkins po funksionon.

Tani që Jenkins po funksionon, mund të filloni konfigurimin fillestar për Jenkins. Por, ju do të konfiguroni dhe ekzekutoni Jenkins me Apache/httpd si një përfaqësues të kundërt.

Instalimi dhe konfigurimi i httpd si një përfaqësues i kundërt

Në këtë pikë, Jenkins është tani i aksesueshëm nëpërmjet portit TCP 8080. Për ta bërë Jenkins më miqësor dhe të sigurt për përdoruesit, do të instaloni dhe konfiguroni serverin e uebit Apache/httpd si një përfaqësues të kundërt për Jenkins-in tuaj.

Përpara se të filloni, sigurohuni që të keni emrin e domenit të treguar në adresën tuaj IP Rocky Linux dhe gjithashtu të keni gjeneruar certifikata SSL. Ju mund të përdorni certifikata të vetë-nënshkruara ose të përdorni SSL falas nga Letsencrypt.

Së pari, instaloni serverin e internetit httpd dhe paketën mod_ssl nëpërmjet komandës dnf më poshtë. Futni y kur të kërkohet, më pas shtypni ENTER për të vazhduar.

sudo dnf install httpd mod_ssl

Paketa mod_ssl kërkon që ju të konfiguroni një certifikatë për localhost. Pra, ekzekutoni komandën e mëposhtme për të gjeneruar një certifikatë të vetë-nënshkruar vetëm për localhost.

Pas procesit, do t'ju kërkohet të futni informacionin e detajeve për certifikatat SSL. Mund të futni të dhënat tuaja dhe t'i kaloni duke shtypur ENTER.

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

Pasi të instalohet serveri i uebit httpd, krijoni një konfigurim të ri të hostit virtual /etc/httpd/conf.d/jenkins.conf duke përdorur komandën e mëposhtme të redaktuesit nano.

sudo nano /etc/httpd/conf.d/jenkins.conf

Shtoni konfigurimin e mëposhtëm në skedar. Ky shembull përdor emrin e domenit jenkins.hwdomain.io me certifikata SSL nga Letsencrypt. Pra, sigurohuni që të ndryshoni emrin e domenit dhe rrugën e certifikatave SSL.

<VirtualHost *:80>
    ServerAdmin 
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hwdomain.io/
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Forwarded-Port "443"
</VirtualHost>

Ruani skedarin dhe mbyllni redaktorin kur të keni mbaruar.

Më pas, ekzekutoni komandën e mëposhtme për të verifikuar konfigurimet httpd. Nëse merrni rezultate të tilla si Syntaksa OK, do të thotë që keni konfigurimin e duhur httpd dhe jeni gati për të nisur shërbimin httpd.

sudo apachectl configtest

Filloni dhe aktivizoni shërbimin httpd përmes komandës systemctl më poshtë.

sudo systemctl start httpd
sudo systemctl enable httpd

Verifikoni statusin e shërbimit httpd duke përdorur komandën e mëposhtme. Ju duhet të shihni se shërbimi httpd po funksionon dhe aktivizohet, që do të thotë se httpd do të fillojë automatikisht pas nisjes.

sudo systemctl status httpd

Në këtë hap, keni instaluar serverin e uebit httpd, keni konfiguruar httpd si një përfaqësues të kundërt dhe keni aktivizuar HTTPS-në e sigurt. Por për të hyrë në instalimin tuaj të Jenkins, ju duhet ende të konfiguroni murin e zjarrit në serverin tuaj Rocky Linux.

Konfigurimi i Firewalld

Firewalld është softueri i parazgjedhur i murit të zjarrit në sistemet operative të bazuara në RHEL, duke përfshirë Rocky Linux. Instalohet dhe funksionon si parazgjedhje në Rocky Linux. Tani do të konfiguroni murin e zjarrit dhe do të hapni shërbimin HTTP dhe HTTPS për të lejuar qasjen te Jenkins.

Ekzekutoni komandën e mëposhtme firewall-cmd për të shtuar shërbimet HTTP dhe HTTPS në murin e zjarrit.

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

Pas kësaj, ringarkoni murin e zjarrit për të aplikuar ndryshime të reja dhe për të verifikuar listën e shërbimeve të aktivizuara në murin e zjarrit.

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Kjo do të japë rezultatin e mëposhtëm - Të dyja shërbimet HTTP dhe HTTPS shtohen në murin e zjarrit.

Me portet HTTP dhe HTTPS të hapura, më pas do të filloni instalimin fillestar dhe konfigurimin e Jenkins nëpërmjet shfletuesit të internetit.

Konfigurimet fillestare të Jenkins

Përpara se të filloni konfigurimin fillestar të Jenkins, ekzekutoni komandën e mëposhtme për të marrë fjalëkalimin fillestar për Jenkins. Fjalëkalimi fillestar i administratorit kërkohet herën e parë kur konfiguroni Jenkins.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Tani hapni shfletuesin e internetit dhe vizitoni emrin e domenit të instalimit tuaj Jenkins (d.m.th.: https://jenkins.hwdomain.io/).

Në faqen e parë, do t'ju kërkohet fjalëkalimi fillestar i administratorit Jenkins. Ngjit fjalëkalimin fillestar të Jenkins dhe kliko Vazhdo.

Tani personalizoni instalimin e Jenkins duke instaluar disa shtojca. Mund të zgjidhni shtojcat me dorë (për ekspertët), ose mund të zgjidhni opsionin instaloni shtojcat e sugjeruara për të instaluar shtojcat e rekomanduara nga Jenkins.

Tani do të fillojë instalimi i shtojcave Jenkins. Të gjitha këto shtojca tani do të instalohen në Jenkins tuaj.

Kur të përfundojë instalimi i shtojcës, atëherë do të konfiguroni përdoruesin e administratorit për Jenkins. Fut detajet, përdoruesin, emailin dhe fjalëkalimin për Jenkins-in tënd dhe kliko Ruaj dhe vazhdo.

Më pas, futni URL-në e Jenkins në konfigurimin e shembullit. Në këtë shembull, Jenkins funksionon me përfaqësues të kundërt httpd në domenin https://jenkins.hwdomain.io/.

Kliko Ruaj dhe Përfundo për të përfunduar konfigurimin fillestar të Jenkinss.

Pasi të përfundojë konfigurimi fillestar i Jenkins, më pas do të ridrejtoheni te paneli i kontrollit të Jenkins.

Tani keni përfunduar konfigurimet fillestare të Jenkins. Me këtë në mendje, ju mund të krijoni dhe konfiguroni një ndërtim të ri Jenkins. Lexoni për të mësuar rreth Jenkins Build.

Krijo ndërtimin e parë të Jenkins

Në pultin e Jenkins, klikoni në menunë Artikull i ri për të krijuar një ndërtim të ri Jenkins.

Futni emrin e projektit për këtë ndërtim të ri dhe zgjidhni llojin e projektit. Në këtë shembull, do të krijoni një ndërtim të ri Jenkins \Ndërtimi i parë\ me llojin \Projekti i stilit të lirë.

Kliko OK për të vazhduar.

Në seksionin \Të përgjithshme\, fut përshkrimin e projektit. Më pas, kaloni te seksioni \Hapat e ndërtimit\.

Zgjidhni build spets si \Execute shell\ dhe futni komandën e thjeshtë bash më poshtë.

echo "This is First build on jenkins"

Tani klikoni Ruaj për të konfirmuar dhe krijuar ndërtimin e Jenkins.

Tani do të ridrejtoheni në faqen e ndërtimit të Jenkins për projektin \Ndërtimi i parë\.

Kliko \Ndërto tani\ për të filluar dhe ekzekutuar ndërtimin e Jenkins. Pas ekzekutimit të projektit, duhet të shihni historinë e ndërtimit nën seksionin \Historia e ndërtimit\.

Në pamjen e mëposhtme të ekranit, ka vetëm një histori ndërtimi të Jenkins.

Klikoni mbi historikun e ndërtimit numër 1 për të marrë më shumë detaje të prodhimit të ndërtimeve Jenkins. Tani kliko \Dalja e konsolës\ për të marrë rezultate të detajuara të krijuara nga ndërtimi i Jenkins.

Tani mësuat se si të krijoni dhe drejtoni ndërtimin e Jenkins.

konkluzioni

Në këtë artikull, ju keni instaluar Jenkins në një server Rocky Linux 9. Ju gjithashtu keni instaluar dhe konfiguruar ueb serverin Apache2/httpd si një përfaqësues të kundërt për Jenkins dhe keni siguruar instalimin e Jenkins përmes certifikatave SSL dhe murit të zjarrit.

Përveç kësaj, mësuat gjithashtu se si ndërtohet konfigurimi fillestar bazë për Jenkins dhe si të krijohet dhe ekzekutohet Jenkins përmes ndërfaqes në internet të administratës Jenkins.

Tani që keni vendosjen plotësisht funksionale të Jenkins, mund të shtoni projektin tuaj dhe të konfiguroni ndërtimin e Jenkins për aplikacionin tuaj. Gjithashtu, ju mund të zgjeroni funksionalitetin e Jenkins duke shtuar shtojca që janë të përshtatshme për mjedisin tuaj.