Bouwt

Overzicht

In Odoo.sh wordt een build beschouwd als een database die wordt geladen door een Odoo-server (odoo/odoo & odoo/enterprise) draait op een specifieke revisie van jouw projectrepository in een containeromgeving. Het doel is om het goede gedrag van de server, de database en de functies met deze revisie te testen.

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

In deze weergave vertegenwoordigt een rij een tak, en vertegenwoordigt een cel van een rij een opbouw van deze tak.

Meestal worden builds gemaakt na push-ups op de vertakkingen van jouw Github-repository. Ze kunnen ook worden aangemaakt als je andere bewerkingen uitvoert, zoals het importeren van een database op Odoo.sh of het opnieuw opbouwen van een branch in jouw project.

Een build wordt als succesvol beschouwd als er tijdens het maken geen fouten of waarschuwingen optreden. Een succesvolle build wordt groen gemarkeerd.

Een build wordt als mislukt beschouwd als er fouten optreden tijdens het maken ervan. Een mislukte build wordt rood gemarkeerd.

Als er tijdens het maken waarschuwingen verschijnen, maar er zijn geen fouten, wordt de build als bijna succesvol beschouwd. Het is geel gemarkeerd om aan te geven dat er waarschuwingen voor ontwikkelaars zijn gegeven.

Met builds wordt niet altijd een database helemaal opnieuw gemaakt. Wanneer je bijvoorbeeld een wijziging op de productietak pusht, start de gemaakte build de server gewoon met jouw nieuwe revisie en probeert hij de huidige productiedatabase erop te laden. Als er geen fouten optreden, wordt de build als succesvol beschouwd en anders mislukt.

Fases

Productie

Bij de eerste opbouw van een productietak wordt een geheel nieuwe database gemaakt. Als deze build succesvol is, wordt deze database beschouwd als de productiedatabase van jouw project.

Vanaf dat moment zullen pushs op de productietak nieuwe builds creëren die proberen de database te laden met behulp van een server die draait met de nieuwe revisie.

Als de build succesvol is, of waarschuwingen maar geen fouten bevat, wordt de productiedatabase nu uitgevoerd met deze build, samen met de revisie die aan deze build is gekoppeld.

Als de build de database niet kan laden of bijwerken, wordt de vorige succesvolle build opnieuw gebruikt om de database te laden, en daarom zal de database draaien op een server die draait met de vorige succesvolle revisie.

De build die wordt gebruikt om de productiedatabase uit te voeren, is altijd de eerste van de buildlijst. Als een build mislukt, wordt deze na de build geplaatst waarop momenteel de productiedatabase wordt uitgevoerd.

Staging

Staging-builds dupliceren de productiedatabase en proberen dit duplicaat te laden met de revisies van de staging-vertakkingen.

Elke keer dat je een nieuwe revisie op een staging-branch pusht, gebruikt de gemaakte build een nieuwe kopie van de productiedatabase. De databases worden niet hergebruikt tussen builds van dezelfde vertakking. Dit zorgt ervoor:

  • staging builds maken gebruik van databases die dicht in de buurt liggen van hoe de productie eruit ziet, zodat je jouw tests niet maakt met verouderde gegevens,

  • je kunt zoveel spelen als je wilt in dezelfde staging-database, en je kunt dan om een herbouw vragen als je opnieuw wilt opstarten met een nieuw exemplaar van de productie.

Niettemin betekent dit dat als je configuratiewijzigingen aanbrengt in staging-databases en deze niet toepast in de productie, deze niet worden doorgegeven bij de volgende build van dezelfde staging-branch.

Ontwikkeling

Ontwikkelingsbuilds creëren nieuwe databases, laden de demogegevens en voeren de unit-tests uit.

Een build wordt als mislukt beschouwd en wordt rood gemarkeerd als tests mislukken tijdens de installatie, omdat ze bedoeld zijn om fouten te genereren als er iets misgaat.

Als alle tests slagen en er geen fout is opgetreden, wordt de build als succesvol beschouwd.

Volgens de lijst met modules die moeten worden geïnstalleerd en getest, kan het tot 1 uur duren voordat een ontwikkelingsbuild gereed is. Dit komt door het grote aantal tests dat is ingesteld in de standaard Odoo-modulesuite.

Functies

De productietak zal altijd als eerste verschijnen, en daarna worden de andere takken geordend op basis van de laatst gemaakte build. Je kunt de takken eruit filteren.

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

Voor elke vertakking kunt je toegang krijgen tot de database van de laatste build met behulp van de Connect-link en naar de vertakkingscode gaan met behulp van de Github-link. Voor andere branches dan de productie kun je een nieuwe build maken die de laatste revisie van de branch gebruikt met behulp van de link rebuild. Deze laatste link is niet beschikbaar als er al een build in uitvoering is voor de branche.

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

Voor elke build kun je toegang krijgen tot de revisiewijzigingen via de knop met het Github-pictogram. Je kunt als beheerder toegang krijgen tot de database van de build met behulp van de knop Verbinden. Je kunt ook met een andere gebruiker toegang krijgen tot de database via de knop Verbinden als in het vervolgkeuzemenu van de knop Verbinden.

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

In het vervolgkeuzemenu van de build heb je toegang tot dezelfde functies als in :ref:`de takkenweergave<odoosh-gettingstarted-branches-tabs> `: Logboeken, Web Shell, Editor, Uitgaande e-mails. Je hebt ook de mogelijkheid om een dump van de database van de build te downloaden.