Skip to Content
Getting StartedPirmasis build'as

Pirmasis build’as

Šiame vadove sukuriate, patvirtinate, paleidžiate ir peržiūrite vieną pasirinktinį vaizdą. Patvirtintas receptas yra konfigūracijos patikra, o ne įrodymas, kad ISO buvo sukurtas ar kad kiekvienas pageidautas elgesys praėjo VM testą.

Prieš pradedant

  • Prisijunkite, kad pokalbis ir build’as liktų susieti su jūsų paskyra.
  • Pradėkite nuo vienos operacinės sistemos ir nedidelio paketų ar paslaugų rinkinio.
  • Nuspręskite, koks įrodymas patvirtintų, kad užklausa įvykdyta. Paketo buvimas, paslaugos būsena, klausantis prievadas ir GUI elgesys yra skirtingos patikros.

Pirmam bandymui venkite kredencialų ir privačių saugyklų URL pokalbyje. Slaptus duomenis vėliau pridėkite per palaikomą kredencialų darbo eigą, o ne įkepkite juos į vaizdą.

1. Apibrėžkite rezultatą ir jo patikras

Pavyzdys:

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.

Aiškūs išimtys padeda atskirti sąmoningai minimalų vaizdą nuo užklausos, kurią planuotojas tiesiog praleido.

2. Peržiūrėkite recepto peržiūrą

Patikrinkite bent:

  • base_image atitinka pageidaujamą distribuciją ir leidimą;
  • pageidaujami paketai yra po os.packages arba juos tiekia aiški funkcija;
  • naudotojai, grupės, paslaugos, tinklas, diegiklis ir darbalaukio pasirinkimai atitinka užklausą;
  • scenarios turi tikrai reikalingas patikras;
  • nebuvo įtrauktas nepageidautas paketas, darbalaukis, diegiklis, kredencialas ar išorinė saugykla.

Pakeitimus prašykite tame pačiame pokalbyje. Tęstinės užklausos taikomos aktyviam receptui. Naudojant Validate Recipe, backend išsaugo ankstesnę esminę pokalbio užklausą ir blokuoja receptą, jei vis dar trūksta aiškių reikalavimų; sugeneruotas valdymo sakinys negali ištrinti pokalbio ketinimo.

Validacija vis tiek gali praleisti neprieinamą paketą, tiekėjo sutrikimą, distribucijai specifinę build klaidą ar elgesį be testo. Peržiūrą skaitykite kaip siūlomą sutartį.

3. Paleiskite build’ą vieną kartą

Patvirtintoje peržiūroje pasirinkite Start Build. Sėkmingas paspaudimas sukuria build ID. Problemai pranešdami išsaugokite tą ID; jis patikimesnis nei vien procentas ar ekrano nuotrauka.

Build skydelyje gali būti rodomos būsenos, pvz., queued, planning, configured, building, finalizing, completed, failed ar cancelled. Eilėje stovintis build’as gali laukti darbuotojo talpos ar paleidimo atkūrimo. Rodomas procentas yra progreso projekcija, ne terminas; kai kurie paketų ir failų sistemos žingsniai trunka gerokai ilgiau nei kiti.

Build’ą galite toliau stebėti tiesioginiame build skydelyje, net jei paliekate pradinį pokalbio vaizdą. Perkrovus puslapį, ryšys turėtų atsistatyti per išsaugotą build būseną ir įvykių srautą. Nespustelėkite Start Build pakartotinai, nebent UI praneša, kad build ID nebuvo sukurtas ar ankstesnis build’as pasiekė galutinę būseną.

4. Atskyrkite vaizdo užbaigimą nuo testų užbaigimo

Vaizdas gali būti paruoštas anksčiau, nei pasirinkta VM patikra pasiekia galutinę būseną. Skaitykite abu:

  • build status: ar atsparus artefaktas buvo surinktas ir finalizuotas;
  • test status: not_run, running, passed, failed ar error;
  • certification status, kai rodoma: sukonfigūruotos įrodymų politikos rezultatas, ne universalus saugumo ar aparatūros sertifikavimas.

Atidarykite testų detales. Patvirtinkite, kad kiekviena pageidauta patikra buvo vykdyta prieš tikėtiną svečią, ir peržiūrėkite klaidas ar praleistas patikras. Sėkmingas paleidimo testas neįrodo, kad programa atsidaro; paketo įrašas neįrodo, kad paslauga sveika.

5. Peržiūrėkite ir atsisiųskite artefaktą

Prieš atsisiųsdami palyginkite galutinį receptą ir paketų ar testų įrodymus su užklausa. Užfiksuokite build ID, artefakto failo pavadinimą, dydį ir kontrolinę sumą, kai rodoma.

Naudokite build atsisiuntimo veiksmą tik po artefakto finalizavimo pabaigos. Atsisiuntimo pakete gali būti ISO ir susiję įrodymai. Jei atsisiuntimas grąžina Failed to create download package, not found ar kitą JSON klaidą:

  1. patvirtinkite, kad esate prisijungę kaip build savininkas;
  2. atidarykite tiksliai tą build’ą, o ne senesnę pokalbio kortelę;
  3. patikrinkite, kad artefakto finalizavimas baigtas ir ISO sąraše;
  4. bandykite dar kartą vieną kartą;
  5. praneškite build ID, laiko žymą, rodomas build, test ir finalizavimo būsenas ir tikslų klaidos tekstą.

Neperkurkite vien tam, kad apeitumėte nuosavybės ar paketavimo klaidą; tai gali išmesti naudingą diagnostinę būseną ir sunaudoti dar vieną build vietą.

6. Išbandykite ISO numatytame kontekste

Paleidimas OpenFactory VM patvirtina tik sukonfigūruotą virtualią aplinką. Diegiamam darbalaukiui papildomai išbandykite diegiklio kelią vienkartinėje diske. Fiziniam diegimui atskirai patikrinkite firmware režimą, saugyklą, grafiką, tinklą, suspend, įvesties įrenginius, atnaujinimus ir atkūrimą ant reprezentatyvios aparatūros.

Dažni atkūrimo keliai

SimptomasVeiksmas
Receptas patvirtinamas, bet praleidžia užklausąNebuild’inkite; aiškiai nurodykite trūkstamą reikalavimą ir vėl patvirtinkite
Build’as eilėjeIšsaugokite build ID ir tikrinkite eilės ar atkūrimo būseną; venkite dubliuotų paleidimų
Progresas atrodo nepakitęsPrieš sakydami, kad užstrigo, peržiūrėkite dabartinį etapą ir naujausią žurnalo veiklą
Build’as nepavykstaSkaitykite pirmą priežastinę klaidą, ne tik galutinę santrauką; keiskite ar bandykite iš naujo tik supratę priežastį
Testai nepavykstaAtskyrkite produkto defektą, patikros defektą, svečio paleidimo problemą ir infrastruktūros klaidą
Atsisiuntimas trūksta ar draudžiamasPatvirtinkite savininko sesiją, finalizavimo būseną ir tikslų build ID prieš perkuriant

Kitas žingsnis