Bouwt

In Odoo.sh is een build een database geladen door een Odoo-server (odoo/odoo en odoo/enterprise) die draait op een specifieke revisie van je projectrepository in een gecontaineriseerde omgeving. Het doel is het testen van het juiste gedrag van de server, de database en de functies die bij die revisie horen.

Overzicht

Overzicht van de builds

In de weergave Builds staat een rij voor een filiaal, en een cel binnen die rij staat voor een build van dat filiaal.

De meeste builds worden gemaakt na pushes naar je GitHub-repositorybranches. Ze kunnen ook worden gemaakt via andere activiteiten, zoals het importeren van een database op Odoo.sh of het aanvragen van een rebuild voor een branch in je project.

Builds kunnen drie mogelijke statussen hebben:

  • Een build wordt als geslaagd beschouwd als er geen fouten of waarschuwingen optreden tijdens het maken ervan. Geslaagde builds worden groen gemarkeerd.

  • Een build wordt als bijna geslaagd beschouwd als er waarschuwingen optreden, maar geen fouten. Bijna geslaagde builds worden geel gemarkeerd.

  • Een build wordt als mislukt beschouwd als er fouten optreden tijdens het maken ervan. Mislukte builds worden rood gemarkeerd.

Notitie

Builds maken niet altijd een database vanaf nul. Bij het pushen van een wijziging op de productiebranch, start de gemaakte build bijvoorbeeld de server met je nieuwe revisie en probeert de huidige productiedatabase erop te laden.

Fases

Productie

De eerste build van een productiefiliaal creëert een database vanaf nul. Als deze build succesvol is, wordt deze database de productiedatabase van je project.

Vanaf dat moment creëren pushes naar het productiefiliaal nieuwe builds die proberen de database te laden met een server die de nieuwe revisie draait.

Als de build succesvol of bijna succesvol is, draait de productiedatabase met deze build en de bijbehorende revisie.

Als de build de database niet kan laden of bijwerken, wordt de vorige succesvolle build hergebruikt om de database te laden. In dat geval blijft de database draaien met de vorige succesvolle revisie.

Notitie

De build die wordt gebruikt om de productiedatabase te draaien staat altijd bovenaan de buildlijst. Als een build mislukt, wordt deze geplaatst na de build die momenteel de productiedatabase draait.

Staging

Stagingbuilds dupliceren de productiedatabase en proberen deze kopie te laden met de revisies van de stagingfilialen.

Elke keer dat je een nieuwe revisie pusht naar een stagingfiliaal, gebruikt de resulterende build een nieuwe kopie van de productiedatabase. Databases worden niet hergebruikt tussen builds van hetzelfde filiaal. Dit zorgt ervoor dat:

  • Stagingbuilds databases gebruiken die nauw aansluiten bij de huidige productiestand, zodat je tests niet worden uitgevoerd op verouderde data.

  • Je vrij kunt experimenteren binnen een stagingdatabase. Als je opnieuw wilt beginnen met een nieuwe kopie van de productiedatabase, kun je een rebuild aanvragen.

Dit betekent echter ook dat als je configuratiewijzigingen aanbrengt in een stagingdatabase en deze niet toepast in productie, die wijzigingen niet aanwezig zijn in de volgende build van hetzelfde stagingfiliaal.

Ontwikkeling

Developmentbuilds creëren nieuwe databases, laden de demodata en voeren de unit tests uit.

Een build wordt als mislukt beschouwd als tests mislukken tijdens de installatie, omdat ze zijn ontworpen om fouten te geven als er iets mis is.

Als alle tests slagen en er geen fouten optreden, wordt de build als succesvol beschouwd.

Notitie

Afhankelijk van de lijst met te installeren en te testen modules kan een developmentbuild tot een uur duren voordat deze klaar is. Dit komt door het grote aantal tests in de standaard Odoo-modulesuite.

Functies

Het productiefiliaal verschijnt altijd eerst. Andere filialen zijn gesorteerd op het tijdstip van hun laatst gecreëerde build. De paars gemarkeerde fase komt overeen met de fase die is geselecteerd in het menu Filialen.

Tip

Je kunt filialen filteren met de zoekbalk.

Het filialenmenu

Voor elk filiaal kun je:

  • De database van de laatste build openen door op Verbinden te klikken.

  • Naar de code van het filiaal springen door op Github te klikken.

  • Maak een nieuwe build door te klikken op Rebuild. Deze gebruikt de nieuwste revisie van de branch (dit is niet beschikbaar als er al een build bezig is voor die branch).

Voor elke build kun je:

  • Bekijk de revisiewijzigingen door te klikken op het (GitHub) icoon.

  • Open de database van de build als beheerder door te klikken op Connect of als een andere gebruiker door te klikken op de (More Actions) knop naast Connect en te selecteren Connect as.

  • Open dezelfde tools als in de branches-weergave door te klikken op de (More Actions) knop naast Connect en te selecteren Logs, Web Shell, Editor, Outgoing e-mails (voor de staging en development fases), Monitoring, en Download DB dump (voor de production en staging fases).

Opties van een build