Build-uri

Prezentare generală

În Odoo.sh, o construcție este considerată ca o bază de date încărcată de un server Odoo (odoo/odoo & odoo/enterprise) care rulează pe o revizie specifică a depozitului dvs. de proiecte într-un mediu containerizat. Scopul său este să testați binele serverului, baza de date și caracteristicile cu această revizie.

../../../_images/interface-builds.png

În această vedere, o rând reprezintă o ramură, iar o celulă a unei rânduri reprezintă un build a acestei ramuri.

Majoritatea timpului, build-urile sunt create după push-uri pe ramurile depozitului dvs. de pe Github. Ele pot fi create și atunci când faceți alte operații, cum ar fi importarea unei baze de date pe Odoo.sh sau solicitarea unui rebuild pentru o ramură în proiectul dvs.

Un build este considerat reușit dacă nu apar erori sau avertismente în timpul creării sale. Un build reușit este evidențiat în verde.

Un build este considerat eșuat dacă apar erori în timpul creării sale. Un build eșuat este evidențiat în roșu.

Dacă apar avertismente în timpul creării, dar nu există erori, build-ul este considerat aproape reușit. Este evidențiat în galben pentru a notifica dezvoltatorul că au fost ridicate avertismente.

Build-urile nu creează întotdeauna o bază de date de la zero. De exemplu, atunci când push-ul unui schimbare pe ramura de producție, build-ul creat doar pornește serverul cu noua dvs. revizie și încearcă să încarce baza de date de producție curentă pe ea. Dacă nu apar erori, build-ul este considerat reușit, și altfel eșuat.

Etape

Producție

Primul build al unei ramuri de producție creează o bază de date de la zero. Dacă acest build este reușit, această bază de date este considerată ca fiind baza de date de producție a proiectului dvs.

De atunci, push-urile pe ramura de producție vor crea noi build-uri care încearcă să încarce baza de date folosind un server care rulează cu noua revizie.

Dacă build-ul este reușit, sau are avertismente dar nu există erori, baza de date de producție va rula acum cu acest build, împreună cu revizia asociată acestui build.

Dacă build-ul nu reușește să încarce sau să actualizeze baza de date, atunci build-ul reușit anterior este reutilizat pentru a încărca baza de date, și prin urmare baza de date va rula folosind un server care rulează cu revizia reușită anterioară.

Build-ul utilizat pentru a rula baza de date de producție este întotdeauna primul din lista de build-uri. Dacă un build eșuează, este pus după build-ul care rulează baza de date de producție.

Stagiu

Build-urile de stagiu duplică baza de date de producție, și încearcă să încarce această duplicat cu reviziile ramurilor de stagiu.

De fiecare dată când faceți push pe o nouă revizie pe o ramură de stagiu, build-ul creat folosește o nouă copie a bazei de date de producție. Bazele de date nu sunt reutilizate între build-uri ale aceleiași ramuri. Acest lucru asigură:

  • build-urile de stagiu folosesc baze de date care sunt aproape ca și cum ar arăta producția, astfel încât să nu faceți testele cu date neactualizate,

  • puteți rula cât doriți în aceeași bază de date de stagiu, și puteți apoi cere un rebuild când doriți să reporniți cu o nouă copie a producției.

Cu toate acestea, acest lucru înseamnă că dacă faceți modificări de configurare în bazele de date de stagiu și nu le aplicați în producție, acestea nu vor fi transmise la următorul build al aceleiași ramuri de stagiu.

Dezvoltare

Build-urile de dezvoltare creează baze de date noi, încarcă datele demo și rulează testele unitare.

Un build va fi considerat eșuat și evidențiat în roșu dacă testele eșuează în timpul instalării, deoarece ele sunt menite să ridice erori dacă ceva ceva nu este în regulă.

Dacă toate testele trec, și nu există nicio eroare, build-ul va fi considerat cu succes.

În funcție de lista de module de instalat și testat, un build de dezvoltare poate dura până la 1 oră pentru a fi gata. Acest lucru se datorează numărului mare de teste setat în suite-ul de module Odoo standard.

Caracteristici

Ramura de producție va apărea întotdeauna în primul rând, iar apoi celelalte ramuri sunt ordonate după ultimul build creat. Puteți filtra ramurile.

../../../_images/interface-builds-branches.png

Pentru fiecare ramură, puteți accesa baza de date a ultimului build folosind link-ul Conectați-vă și săriți la codul ramurii folosind link-ul Github. Pentru alte ramuri decât producția, puteți crea un nou build care va folosi ultima revizie a ramurii folosind link-ul rebuild. Acest ultim link nu este disponibil atunci când există deja un build în curs de desfășurare pentru ramura.

../../../_images/interface-builds-build.png

Pentru fiecare build, puteți accesa modificările de revizie folosind butonul cu iconița Github. Puteți accesa baza de date a build-ului ca administrator folosind butonul Conectați-vă. De asemenea, puteți accesa baza de date cu un alt utilizator folosind butonul Conectați-vă ca, în meniul dropdown al butonului Conectați-vă.

../../../_images/interface-builds-build-dropdown.png

În meniul dropdown al build-ului, puteți accesa aceleași caracteristici ca în the branches view: Logs, Web Shell, Editor, Outgoing e-mails. De asemenea, aveți posibilitatea de a Descărcați un dump a bazei de date a build-ului.