Skip to Content
Getting StartedJe eerste build

Je eerste build

Deze handleiding maakt, valideert, bouwt en inspecteert één aangepaste image. Een gevalideerd recept is een configuratiecontrole, geen bewijs dat de ISO is gebouwd of dat elk gevraagd gedrag een VM-test heeft doorstaan.

Voordat je begint

  • Log in zodat het gesprek en de build aan je account gekoppeld blijven.
  • Begin met één besturingssysteem en een kleine set pakketten of services.
  • Bepaal welk bewijs zou aantonen dat het verzoek is ingewilligd. Aanwezigheid van pakketten, servicestatus, een luisterende poort en GUI-gedrag zijn verschillende assertions.

Vermijd bij een eerste run credentials en private repository-URL’s in de chat. Voeg secrets later toe via de ondersteunde credential-workflow in plaats van ze in een image te bakken.

1. Formuleer het resultaat en de controles

Voorbeeld:

Build a Debian 13 server image with OpenSSH and curl. Create a password-locked deploy user in the sudo group. Verify that the image boots, the deploy user exists, the ssh service is enabled, and curl is installed. Do not add Docker or a desktop.

Expliciete uitsluitingen helpen een bewust minimaal image te onderscheiden van een verzoek dat de planner simpelweg heeft gemist.

2. Bekijk het receptvoorbeeld

Controleer minstens:

  • base_image komt overeen met de gevraagde distributie en release;
  • gevraagde pakketten staan onder os.packages of worden geleverd door een expliciete feature;
  • gebruikers, groepen, services, netwerk, installer en desktopkeuzes passen bij het verzoek;
  • scenarios bevatten de controles die je echt nodig hebt;
  • er is geen ongevraagd pakket, desktop, installer, credential of extern repository toegevoegd.

Vraag wijzigingen in hetzelfde gesprek. Vervolgverzoeken worden toegepast op het actieve recept. Wanneer Validate Recipe wordt gebruikt, bewaart de backend het voorgaande inhoudelijke chatverzoek en blokkeert het recept als expliciete vereisten nog ontbreken; de gegenereerde controlzin mag de intentie van het gesprek niet wissen.

Validatie kan nog steeds een niet-beschikbaar pakket, een upstream-storing, een distro-specifieke buildfout of gedrag zonder test missen. Lees het voorbeeld als een voorgesteld contract.

3. Start de build één keer

Selecteer Start Build op het gevalideerde voorbeeld. Een geslaagde klik maakt een build-ID aan. Bewaar die ID bij het melden van een probleem; die is betrouwbaarder dan alleen een percentage of een screenshot.

Het buildpaneel kan statussen tonen zoals queued, planning, configured, building, finalizing, completed, failed of cancelled. Een build in de wachtrij kan wachten op worker-capaciteit of opstartherstel. Een getoond percentage is een voortgangsprojectie, geen deadline; sommige packaging- en filesystem-stappen duren veel langer dan andere.

Je kunt de build blijven volgen in het live buildpaneel, ook als je de oorspronkelijke chatweergave verlaat. Herladen zou opnieuw moeten verbinden via opgeslagen buildstatus en de event stream. Klik Start Build niet herhaaldelijk, tenzij de UI meldt dat geen build-ID is aangemaakt of de vorige build een terminal state heeft bereikt.

4. Scheid image-afronding van test-afronding

Een image kan klaar zijn voordat de geselecteerde VM-verificatie een terminal state bereikt. Lees beide:

  • build status: of een duurzaam artifact is samengesteld en afgerond;
  • test status: not_run, running, passed, failed, of error;
  • certification status, indien aanwezig: het resultaat van het geconfigureerde evidence-beleid, geen universele security- of hardwarecertificering.

Open de testdetails. Bevestig dat elke gevraagde assertion tegen de verwachte guest is uitgevoerd en bekijk mislukkingen of overgeslagen controles. Een geslaagde boottest bewijst niet dat een applicatie opent; een pakketrecord bewijst niet dat de service gezond is.

5. Inspecteer en download het artifact

Vergelijk vóór het downloaden het definitieve recept en pakket-/testbewijs met het verzoek. Noteer build-ID, artifactbestandsnaam, grootte en checksum wanneer getoond.

Gebruik de downloadactie van de build pas nadat artifactfinalisatie is voltooid. Het downloadpakket kan de ISO en gerelateerd bewijs bevatten. Als download retourneert Failed to create download package, not found, of een andere JSON-fout:

  1. bevestig dat je bent ingelogd als eigenaar van de build;
  2. open opnieuw de exacte build in plaats van een oudere gesprekskaart;
  3. controleer of artifactfinalisatie voltooid is en de ISO wordt vermeld;
  4. probeer één keer opnieuw;
  5. rapporteer build-ID, tijdstempel, getoonde build-/test-/finalisatiestatussen en exacte fouttekst.

Bouw niet opnieuw alleen om een ownership- of packagingfout te omzeilen; dat kan nuttige diagnostische state weggooien en een extra buildslot verbruiken.

6. Test de ISO in de bedoelde context

Opstarten in OpenFactory’s VM verifieert alleen de geconfigureerde virtuele omgeving. Voor een installeerbare desktop test je ook het installerpad op een wegwerpschijf. Voor fysieke deployment test je apart firmwaremodus, opslag, graphics, netwerk, suspend, invoerapparaten, updates en recovery op representatieve hardware.

Veelvoorkomende herstelroutes

SymptoomActie
Recept valideert maar laat verzoek wegNiet bouwen; benoem de ontbrekende vereiste expliciet en valideer opnieuw
Build staat in de wachtrijBewaar de build-ID en controleer queue-/recovery-status; vermijd dubbele starts
Voortgang lijkt ongewijzigdBekijk de huidige stage en recente logactiviteit voordat je vaststelt dat het vastzit
Build misluktLees de eerste causale fout, niet alleen de eindsamenvatting; pas aan of probeer opnieuw pas nadat de oorzaak duidelijk is
Tests mislukkenOnderscheid productdefect, assertionfout, guest-bootprobleem en infrastructuurfout
Download ontbreekt of is verbodenBevestig ownersessie, finalisatiestatus en exacte build-ID voordat je opnieuw bouwt

Volgende stappen