Promptcloud explorează setarea de integrare Gerrit și Jenkins

Publicat: 2017-01-20
Cuprins arată
Configurarea integrării folosind Gerrit și Jenkins
Ce este Gerrit?
Ce este Jenkins și utilizările sale?
Flux de lucru pentru integrare continuă
1. Instalarea lui Gerrit
2. Conectare inițială
3. Generare chei SSH
4. Instalarea lui Jenkins
5. Începeți procesul Jenkins

Configurarea integrării folosind Gerrit și Jenkins

Viața unui dezvoltator poate deveni puțin monotonă cu sarcinile repetitive și complicate. Din fericire, avem instrumente care pot gestiona în mod regulat sarcinile banale, fără să ne plângem vreodată odată ce le-ați configurat. Când adăugați automatizare la testare și implementare, soluția poate fi numită „integrare continuă”. O astfel de configurare poate testa și implementa în mod automat proiecte, oferindu-vă mai mult timp să vă concentrați pe scrierea codului decât să îl împingeți pe servere. Iată cum puteți merge mai departe cu o configurare de integrare continuă folosind Gerrit și Jenkins . Configurare CI folosind Gerrit și Jenkins

Ce este Gerrit?

Gerrit este un sistem de revizuire a codului open-source bazat pe git, care are o interfață web care vă permite să introduceți modificări de la un client git, să revizuiți modificările și să vă îmbinați automat cu codul principal. De fiecare dată când se face o modificare, se fac seturi de corecții pentru aceeași modificare. Gerrit permite comparații diferite seturi de patch-uri. De asemenea, are opțiunea de a adăuga feedback sau recenzie pe anumite linii sau pe întregul patch. Recenziatorii pot evalua modificările cu una de mai jos: +2 – Mi se pare bine, aprobat. +1 – Mi se pare bine, dar altcineva trebuie să aprobe. 0 – Fără scor. -1 – Aș prefera să nu depuneți acest lucru. -2 – Blocare trimitere. O revizuire +2 implică că codul poate fi trimis la master în mod implicit. Acesta poate fi configurat după cum este necesar.

Ce este Jenkins și utilizările sale?

Jenkins este un server de compilare popular folosit pentru integrare continuă. Este bazat pe web și permite automatizarea procesului de construcție pe măsură ce apar modificări. Jenkins poate lucra independent, chiar și fără Git sau Gerrit. Are cârlige care permit declanșarea evenimentelor, așa că atunci când are loc o modificare, o construcție este realizată automat. Când Jenkins și Gerrit sunt folosiți împreună, versiunile vor avea un semn de succes/eșec pentru a indica dacă au trecut testele. Jenkins va rula regresia de testare după ce a efectuat o construcție. Odată finalizat, va publica rezultatele testului la fel ca unul dintre recenzori. În cazul în care construcția eșuează, acesta va respinge patch-ul. Puteți seta fie un -1, fie un -2, în funcție de calitatea CI în cazul unui eșec al testului. Împreună cu aceasta, și alți examinatori de cod pot revizui codul în acest moment. Dacă toate recenziile au trecut, codul poate fi trimis într-un depozit public .

Flux de lucru pentru integrare continuă

  1. Dezvoltatorul verifică sursa din Git
  2. Dezvoltatorul face modificările necesare
  3. Dezvoltatorul împinge modificările către Gerrit
  4. Gerrit trimite o notificare de modificare lui Jenkins pentru testul de integrare
  5. Jenkins extrage modificări direct de pe serverul Gerrit git și rulează toate cazurile de testare conform configurației proiectului nostru
  6. Alți dezvoltatori examinează modificările și aprobă (+2)
  7. Gerrit îmbină modificările în depozitul principal al proiectului git atunci când Jenkins a trecut de construcție și modificările sunt aprobate de alți dezvoltatori

Configurarea integrării utilizând fluxul de lucru Gerrit și Jenkins 1. Instalarea lui Gerrit

  • Cerință: JRE, versiunea minimă 1.8.
  • Link pentru a descărca pachetul tGerrit War

Dacă aveți MySQL, îl puteți utiliza pentru baza de date Gerrit. Creați utilizatori și baze de date în MySQL pentru Gerrit.

mysql> CREATE USER 'gerrit2'@'localhost' IDENTIFICAT DE 'secret';

mysql> CREATE DATABASE reviewdb;

mysql> GRANT ALL ON reviewdb.* LA 'gerrit2'@'localhost';

mysql> PRIVILEGII FLUSH;

Acum rulați comanda de mai jos pentru a inițializa site-ul.

 # java -jar gerrit.war init –batch -d ~/

În timpul acestei inițializare, serviciul gerrit este pornit implicit. Dacă doriți să faceți modificări, de exemplu baza de date mysql, autentificarea de conectare, trimiterea serverului de e-mail și a URL-ului httpd, puteți edita fișierul ~//etc/gerrit.config și puteți adăuga detaliile ldap și parola bazei de date în ~//etc/secure. fișier .config . Dacă se fac modificări ale setărilor, serviciul gerrit trebuie repornit înainte ca acestea să intre în vigoare.

 # ~//bin/gerrit.sh reporniți

Copiați scriptul ~//bin/gerrit.sh în init.d dir ca gerrit și adăugați-l pentru a porni în timpul pornirii mașinii.

2. Conectare inițială

Acum încărcați adresa URL Gerrit în browser. Puteți găsi adresa URL web Gerrit folosind și această comandă.

# git config -f ~//etc/gerrit.config gerrit.canonicalWebUrl

Acum, utilizați autentificarea de conectare folosind metoda pe care ați configurat-o în fișierul de configurare Gerrit pentru a vă autentifica în interfața web Gerrit. În mod implicit, este OpenID. LDAP este una dintre cele mai utilizate metode de autentificare.

Odată ce v-ați conectat cu succes la pagina web Gerrit, trebuie să vă conectați la computerul dvs. client unde veți face dezvoltarea. Trebuie să generați chei RSA pentru sesiunile dvs. ssh. Puteți sări peste pasul de generare a cheii dacă aveți deja fișierele.

# ls -l ~/.ssh

chei_autorizate config id_rsa id_rsa.pub gazde_cunoscute

3. Generare chei SSH

# ssh-keygen -t rsa

Se generează perechea de chei rsa publică/privată.

Introduceți fișierul în care să salvați cheia (/home/user/.ssh/id_rsa):

Introduceți expresia de acces (gol fără expresie de acces):

Introduceți din nou aceeași expresie de acces:

Identificarea dvs. a fost salvată în /home/user/.ssh/id_rsa.

Cheia dvs. publică a fost salvată în /home/user/.ssh/id_rsa.pub.

Amprenta cheie este:

SHA256:dMMVqsoLDf8T/d5Niob69oea3rkSLTBltiZ8s1lbdeA user@localhost

Imaginea aleatorie a cheii este:

+—[RSA 2048]—-+

| o… |

| .+o . o|

| ..+=. E..|

| .=o=.. . |

| . SB * o |

| = .. * o |

| . = . = . .|

| . o. +o++.+ |

| . o*=*Boo .|

+—-[SHA256]—–+

# cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwoWTT6S1pv2LP0l6r8305njSLtoupDCw8Df
GnaqW+ppfzNMtRJmAvCQpYuvE154EsGZC5csnRkUYAScOD3nri8NBsXMdD+m1mMyD
lA4ssMLhWHfstJGQ5aJ84NIR+zFK9o9QmDCVYU/
MYt2SZnmzi+Pdd4QbDWKisewmtun5rpy8vXWukKt9CHGTbv5lKyRVPF
LuQCynKbniZLV7aQD6gsVcZFG7Hj3ezBhDAZdBrCWLldy0S61DAmdH5C94xmlSuraq
HiX0pkLi4J67msvOUW6dBfeCP1VsMNz0j/
91LPlOMf5I2r1fRw1s/J1z/
UcsgBDyATwSKocNklkrd8+pp user@localhost

  • Copiați cheia publică de mai sus și accesați URL-ul dvs. web gerrit
  • Verificați numele de utilizator din colțul din dreapta al paginii web și faceți clic pe utilizatorul dvs. pentru a găsi linkul de setări
  • În partea stângă, puteți găsi „Cheile publice SSH”, faceți clic pe el
  • Acum faceți clic pe butonul „Adăugați cheia”, inserați cheia publică ssh și adăugați-o

Configurarea integrării utilizând generatorul de chei SSH Gerrit și Jenkins Primul utilizator care se conectează și înregistrează un cont va fi plasat automat în Administratorii cu privilegii deplin. Acum aveți privilegii de a crea proiecte. Faceți clic pe fila „Proiecte” și faceți clic pe „Creați proiecte noi”. Acum introduceți numele proiectului pentru a începe. Configurare CI Iată, clonează proiectul în sistemul tău și începe să adaugi codurile de dezvoltare. # ssh [email protected] -p 29418

**** Bine ați venit la Gerrit Code Review **** Bună selvam, v-ați conectat cu succes prin SSH. Din păcate, shell-urile interactive sunt dezactivate. Pentru a clona un depozit Git găzduit, utilizați: git clone ssh://[email protected]:29418/REPOSITORY_NAME.git Conexiune la 192.168.56.137 închisă.

# git clone ssh: //[email protected] :29418/Gerrit_Test

4. Instalarea lui Jenkins

Puteți instala jenkins folosind pachetul apt-get sau deb.

  • sudo apt-get update
  • sudo apt-get install jenkins

Configurația Jenkins există în /etc/default/jenkins, unde puteți schimba locația java și JAVA_ARGS. În mod implicit, jenkins rulează pe 8080. Dacă rulați gerrit și jenkins pe aceeași mașină, portul implicit 8080 este deja ocupat de gerrit. Aici trebuie să schimbați portul jenkins. Pentru a o modifica, editați valoarea HTTP_PORT pentru a rula pe un alt port.

5. Începeți procesul Jenkins

# /etc/init.d/jenkins start Accesați browserul dvs. și încărcați pagina jenkins cu numele dvs. de gazdă jenkins și numărul portului.

 https://:/

Dacă ați instalat Jenkins 2.*, pagina web Jenkins va solicita initialAdminPassword. Puteți găsi parola în fișierul /var/log/jenkins/jenkins.log. Jurnalul arată ca mai jos:

Este necesară configurarea inițială a lui Jenkins. A fost creat un utilizator admin și a fost generată o parolă. Vă rugăm să utilizați următoarea parolă pentru a continua la instalare: f16b093akcnml397jcdoa239d6bafb9 Aceasta poate fi găsită și la: /var/lib/jenkins/secrets/initialAdminPassword
  • Acum mergeți la Jenkins -> Manage Jenkins -> Plugin Manager pentru a instala pluginul git și gerrit în jenkins
  • Faceți clic pe fila „Disponibil” și căutați „ Plugin Git ” și faceți clic pe „Instalare fără repornire”. Căutați din nou „ Gerrit Trigger” și faceți clic pe „Instalare fără repornire”. În cele din urmă, verificați dacă este în lista instalate.

Configurarea integrării utilizând pluginul Gerrit și Jenkins Procesul Jenkins este rulat de utilizatorul Jenkins. Deci, trebuie să activăm accesul pentru utilizatorul jenkins în gerrit.

  • Folosind metoda de autentificare, creați utilizator jenkins în gerrit
  • Acum creați ssh-keygen pentru utilizatorul jenkins așa cum am făcut anterior. Dar de data aceasta, creați cheia cu faza de acces goală și copiați cheia publică pentru utilizatorul jenkins în gerrit
  • Acum faceți clic pe „Articol nou” pentru a crea un nou loc de muncă și adăugați adresa URL git în secțiunea Management/Git cod sursă. De asemenea, alegeți „evenimentul Gerrit” în Build Triggers și introduceți modelul de proiect Gerrit.

Configurarea integrării utilizând evenimentul Gerrit și JenkinsEveniment de integrare CI În cele din urmă, salvați configurația. Perfect, configurarea dvs. Gerrit și Jenkins este acum completă.