Ensimmäinen buildisi
Tämä ohje luo, validoi, rakentaa ja tarkastaa yhden mukautetun imagen. Validoidtu resepti on konfiguraatiotarkistus, ei todiste siitä, että ISO on rakennettu tai että jokainen pyydetty käyttäytyminen läpäisi VM-testin.
Ennen aloitusta
- Kirjaudu sisään, jotta keskustelu ja build pysyvät tilisi alla.
- Aloita yhdestä käyttöjärjestelmästä ja pienestä paketti- tai palvelujoukosta.
- Päätä, millainen todiste osoittaa pyynnön täyttyneen. Paketin läsnäolo, palvelun tila, kuunteleva portti ja GUI-käyttäytyminen ovat eri assertions.
Ensimmäisellä kerralla vältä credentials-tietoja ja yksityisiä repository-URL-osoitteita chatissa. Lisää secrets myöhemmin tuettua credential-workflowia käyttäen sen sijaan, että upotat ne imageen.
1. Kuvaa lopputulos ja tarkistukset
Esimerkki:
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.Nimenomaiset poissulut auttavat erottamaan tarkoituksella minimaalisen imagen pyynnöstä, jonka planner yksinkertaisesti ohitti.
2. Tarkista reseptin esikatselu
Tarkista vähintään:
base_imagevastaa pyydettyä jakelua ja julkaisua;- pyydetyt paketit ovat
os.packages-kohdassa tai ne tuottaa eksplisiittinen feature; - käyttäjät, ryhmät, palvelut, verkko, installer ja työpöytävalinnat vastaavat pyyntöä;
scenariossisältää tarvitsemasi tarkistukset;- pyytämätöntä pakettia, työpöytää, installeria, credentialia tai ulkoista repositorya ei ole lisätty.
Pyydä muutoksia samassa keskustelussa. Jatkokyselyt kohdistuvat aktiiviseen reseptiin. Kun käytät Validate Recipe, backend säilyttää edeltävän sisältöisen chat-pyynnön ja estää reseptin, jos eksplisiittiset vaatimukset puuttuvat vielä; generoitu kontrollilause ei saa pyyhkiä keskustelun tarkoitusta.
Validointi voi silti jättää huomaamatta saamattoman paketin, upstream-katkon, distro-kohtaisen build-virheen tai käyttäytymisen ilman testiä. Lue esikatselu ehdotettuna sopimuksena.
3. Käynnistä build kerran
Valitse Start Build validoidussa esikatselussa. Onnistunut napsautus luo build-ID:n. Pidä se ID tallessa ongelmaraportissa; se on luotettavampi kuin pelkkä prosentti tai kuvakaappaus.
Build-paneeli voi näyttää tiloja kuten queued, planning, configured, building, finalizing, completed, failed tai cancelled. Jonossa oleva build voi odottaa worker-kapasiteettia tai käynnistyksen palautumista. Näytetty prosentti on edistymisennuste, ei deadline; jotkin paketointi- ja tiedostojärjestelmävaiheet kestävät paljon pidempään kuin toiset.
Voit seurata buildia sen live build-paneelissa, vaikka poistut alkuperäisestä chat-näkymästä. Uudelleenlatauksen pitäisi yhdistää uudelleen tallennetun build-tilan ja event streamin kautta. Älä napsauta Start Build toistuvasti, ellei UI ilmoita, ettei build-ID:tä luotu tai edellinen build saavutti terminal staten.
4. Erottele imagen valmistuminen testin valmistumisesta
Image voi valmistua ennen kuin valittu VM-verifiointi saavuttaa terminal staten. Lue molemmat:
- build status: onko pysyvä artefakti koottu ja finalisoitu;
- test status:
not_run,running,passed,failedtaierror; - certification status, kun se on mukana: määritetyn evidence-politiikan tulos, ei yleinen turvallisuus- tai laitesertifiointi.
Avaa testin yksityiskohdat. Varmista, että jokainen pyydetty assertion ajettiin odotettua guestia vasten, ja tarkista epäonnistumiset tai ohitetut tarkistukset. Läpäisty boot-testi ei todista, että sovellus avautuu; pakettitietue ei todista, että palvelu on terve.
5. Tarkista ja lataa artefakti
Ennen latausta vertaa lopullista reseptiä sekä paketti-/testitodisteita pyyntöön. Kirjaa build-ID, artefaktin tiedostonimi, koko ja checksum, kun ne näytetään.
Käytä buildin lataustoimintoa vasta kun artefaktin finalisointi on valmis. Latauspaketti voi
sisältää ISO:n ja liittyvän todisteen. Jos lataus palauttaa
Failed to create download package, not found tai muun JSON-virheen:
- varmista, että olet kirjautuneena buildin omistajana;
- avaa uudelleen juuri se build, älä vanhempaa keskustelukorttia;
- varmista, että artefaktin finalisointi on valmis ja ISO on listattu;
- yritä kerran uudelleen;
- ilmoita build-ID, aikaleima, näytetyt build-/test-/finalisointitilat ja tarkka virheteksti.
Älä rakenna uudelleen vain ownership- tai pakkausvirheen kiertämiseksi; se voi heittää pois hyödyllisen diagnostiikan tilan ja kuluttaa toisen build-slotin.
6. Testaa ISO sen käyttötarkoituksessa
Boot OpenFactoryn VM:ssä vahvistaa vain määritetyn virtuaaliympäristön. Asennettavalle työpöydälle testaa myös installer-polku kertalevyllä. Fyysisessä käyttöönotossa testaa erikseen firmware-tila, tallennus, grafiikka, verkko, suspend, syöttölaitteet, päivitykset ja recovery edustavalla laitteistolla.
Yleiset palautumispolut
| Oire | Toimenpide |
|---|---|
| Resepti validoituu, mutta jättää pyynnön pois | Älä rakenna; ilmoita puuttuva vaatimus eksplisiittisesti ja validoi uudelleen |
| Build jonossa | Pidä build-ID ja tarkista jono-/recovery-tila; vältä päällekkäisiä käynnistyksiä |
| Edistyminen näyttää muuttumattomalta | Tarkista nykyinen stage ja viimeisin lokitoiminta ennen kuin päätät, että se on jumissa |
| Build epäonnistuu | Lue ensimmäinen syyvirhe, älä vain loppuyhteenvetoa; muokkaa tai yritä uudelleen vasta kun syy on selvä |
| Testit epäonnistuvat | Erottele tuotevika, assertion-virhe, guest-boot-ongelma ja infrastruktuurivika |
| Lataus puuttuu tai on kielletty | Varmista omistajan sessio, finalisointitila ja tarkka build-ID ennen uudelleenrakennusta |