Operacinės sistemos atvaizdų kūrimas
OpenFactory normalizuotą receptą paverčia atvaizdo artefaktu ir, kai paprašyta ir galima, paleidžia tą artefaktą patikrai. Konkretūs builderiai ir etapai skiriasi pagal bazinio atvaizdo šeimą ir diegimą.
Ką valdo receptas
| Sritis | Kanoninė vieta | Peržiūros klausimas |
|---|---|---|
| Bazė ir aparatinės įrangos ketinimas | base_image, hardware | Ar tai teisinga distribucija, leidimas, architektūra ir minimalus profilis? |
| Funkcijos ir paketai | os.features, os.packages | Ar pageidaujamos galimybės yra ir palaikomos šioje bazėje? |
| Tarnybos ir paskyros | os.services, os.users | Ar konfigūracija ir mažiausios teisių prieiga aiškiai nurodytos? |
| Darbalaukis ir prekės ženklas | os.desktop_settings, os.branding | Ar pasirinktas darbalaukis valdo šiuos nustatymus ir išteklius? |
| Instaliatorius ir persistencija | os.installer, os.persistence | Ar diegimo į diską ir persistencijos reikalavimai tikrai išbandyti? |
| Pasirinktinė automatizacija | os.startup_scripts, attachments, source packages | Ar įvestys prisegtos, ribotos ir saugu vykdyti kaip deklaruotam vartotojui? |
| Patikra | scenarios | Ar testai stebi kiekvieną esminį rezultatą, o ne tik boot? |
Visą struktūrą žr. Recepto schema.
Build’o gyvavimo ciklas
Viešasis būsenos srautas gali apimti planavimą, konfigūraciją, source-package darbą, atvaizdo generavimą, finalizavimą ir testavimą. Nėra garantijos, kad kiekvienam taikiniui jie pasirodys identiškais etapų pavadinimais. Sekite build ID, grąžintą start užklausos, ir laikykite galiojančia dabartinę backend būseną.
Laikykite šiuos rezultatus atskirai:
validatedreiškia, kad atpažinta recepto forma buvo priimta;- sėkmingas galutinis build’as reiškia, kad artefaktas buvo finalizuotas;
- sėkmingas testas reiškia, kad pasirinktos assertions praeina savo aplinkoje; ir
- sertifikavimas ar publikavimas, jei įjungta, yra vėlesnis politikos sprendimas.
Tylūs progreso atnaujinimai nėra priežastis kurti antrą build’ą. Prisijunkite prie build konsolės ar status endpoint to paties build ID. Jei build’as galutinai nepavyksta, išsaugokite etapą, klaidą ir log’us prieš bandydami dar kartą.
Rekomenduojama eiga
- Parašykite stebėtinus priėmimo kriterijus.
- Sugeneruokite arba redaguokite receptą.
- Validuokite ir palyginkite normalizuotą rezultatą su visu pokalbiu.
- Peržiūrėkite inferuotas funkcijas, išorinius šaltinius, instaliatoriaus nustatymus ir scenarijus.
- Paleiskite vieną build’ą ir sekite jo patvarų ID.
- Peržiūrėkite artefakto digest, paketų inventorių, įspėjimus ir test įrodymus.
- Boot’inkite arba diekite vienkartinėje aplinkoje, tinkamoje užklausai.
- Promokuokite ar publikuokite tik per taikomą patvirtinimo vartą.
Temų vadovai
| Tema | Kam skirta |
|---|---|
| Baziniai atvaizdai | Palaikomos build šeimos pasirinkimas |
| Funkcijos | Registruotų galimybių modulių supratimas |
| Tarnybos | Tarnybų konfigūracijos deklaravimas |
| Pasirinktinė programinė įranga | Iš repozitorijų gaunamų paketų įvestų peržiūra |
| Vartotojai | Saugus paskyrų atvaizde kūrimas |
| Darbalaukis | Darbalaukio nustatymų pasirinkimas ir patikra |
| Startup Scripts | Ribotų first-boot unit’ų rengimas |
Pradėkite nuo mažiausio naudingo atvaizdo. Funkcijas pridėkite tik supratę ankstesnio artefakto elgseną ir įrodymus.