Construirea imaginilor de sistem de operare
OpenFactory transformă o rețetă normalizată într-un artefact de imagine și, când este solicitat și disponibil, pornește acel artefact pentru verificare. Builderii și etapele exacte variază în funcție de familia de base image și de implementare.
Ce controlează rețeta
| Zonă | Locație canonică | Întrebare de revizuire |
|---|---|---|
| Bază și intenție hardware | base_image, hardware | Este distribuția, release-ul, arhitectura și profilul minim corecte? |
| Funcții și pachete | os.features, os.packages | Capabilitățile cerute sunt prezente și suportate pe această bază? |
| Servicii și conturi | os.services, os.users | Configurația și accesul least privilege sunt explicite? |
| Desktop și branding | os.desktop_settings, os.branding | Desktopul selectat deține aceste setări și resurse? |
| Installer și persistență | os.installer, os.persistence | Cerințele install-to-disk și de persistență sunt testate efectiv? |
| Automatizare personalizată | os.startup_scripts, attachments, source packages | Intrările sunt fixate, limitate și sigure de rulat ca utilizator declarat? |
| Verificare | scenarios | Testele observă fiecare rezultat material, nu doar boot? |
Forma completă este descrisă în Recipe Schema.
Ciclul de viață al buildului
Fluxul public de status poate include planificare, configurare, lucru la source package, generare de imagine, finalizare și testare. Acestea nu apar garantat ca etape cu nume identice pentru fiecare țintă. Urmăriți ID-ul de build returnat de cererea de start și tratați statusul curent al backendului ca autoritar.
Păstrați aceste rezultate separate:
validatedînseamnă că forma recunoscută a rețetei a fost acceptată;- un build reușit terminal înseamnă că un artefact a fost finalizat;
- succesul testelor înseamnă că assertions selectate au trecut în mediul lor; și
- certificarea sau publicarea, unde este activată, este o decizie de policy ulterioară.
Progresul tăcut nu este un motiv să creați un build duplicat. Reconectați-vă la consola de build sau la endpointul de status folosind același ID de build. Dacă buildul devine terminal failed, păstrați etapa, eroarea și logurile înainte de a reîncerca.
Flux de lucru recomandat
- Scrieți criterii de acceptare observabile.
- Generați sau editați rețeta.
- Validați-o și comparați rezultatul normalizat cu conversația completă.
- Inspectați funcțiile inferate, sursele externe, setările installerului și scenariile.
- Porniți un singur build și urmăriți ID-ul său durabil.
- Revizuiți digestul artefactului, inventarul de pachete, avertismentele și dovezile testelor.
- Bootați sau instalați într-un mediu de unică folosință potrivit cererii.
- Promovați sau publicați doar prin approval gate aplicabil.
Ghiduri pe teme
| Temă | Utilizare |
|---|---|
| Base Images | Alegerea unei familii de build suportate |
| Features | Module capability înregistrate |
| Services | Declararea configurației serviciilor |
| Custom Software | Revizuirea intrărilor de pachete din repository |
| Users | Crearea în siguranță a conturilor locale în imagine |
| Desktop | Alegerea și verificarea setărilor de desktop |
| Startup Scripts | Scrierea unităților first-boot limitate |
Începeți cu cea mai mică imagine utilă. Adăugați funcții doar după ce înțelegeți comportamentul și dovezile artefactului anterior.