Skip to Content
Getting StartedSkilningur á uppskriftum

Skilningur á uppskriftum

BuildRecipe er staðlað forskrift sem OpenFactory sendir inn í image pipeline. Spjall getur hjálpað við að semja hana, en build skilgreinist af uppskrift, skyndimyndum af uppruna, mynduðum skrám og prófunarsönnun.

Hugmyndafræðin

Kanonísk uppskrift hefur fjögur megðlög:

  1. Auðkenni og markmið: nafn, lýsing, base image og vélbúnaðar ásetningur.
  2. Stýrikerfi: features, packages, services, users, security, desktop, installer, attachments og startup scripts undir os.
  3. Staðfesting: eitt eða fleiri atriði með innbyggðum prófunum og sérsniðnum assertions.
  4. Afhendingarásetning: umbeðnar birtingarstaðir og valfrjálsar afhendingarstillingar.
{ "name": "debian-web-check", "display_name": "Debian Web Check", "description": "Small Debian image with explicit smoke tests.", "base_image": "debian-trixie", "hardware": { "platform": "pc", "architecture": "x86_64", "min_cpu_cores": 2, "min_memory_gb": 4, "min_storage_gb": 16, "nic_count": 1 }, "os": { "features": ["ssh"], "packages": ["curl"], "services": [ { "name": "ssh", "enabled": true, "config": {"port": 22, "disable_password_auth": true} } ], "security": { "hardening_level": "standard", "audit_logging": true } }, "scenarios": [ { "id": "primary-smoke", "name": "Primary image smoke test", "enabled": true, "tests": ["boot", "login", "packages"] } ], "publish_to": ["local"] }

Notið snake_case. Nýjar samþættingar ættu ekki að senda eldri form eins og baseImage, top-level features eða startupScripts.

Þrjár athuganir, þrjú mismunandi svör

Skema staðfesting

Staðfesting svarar: „Hefur viðurkennd gögn viðunandi lögun?“ Hún sannar hvorki að pakkar séu til né að hegðun virki. Sum óþekkt svæði eru hunsað vegna samhæfni, svo staðfesting getur samt sleppt mikilvægri beiðni.

Berðu alltaf skilaða staðlaða uppskrift saman við upprunalegt spjall og kröfur. Vantar desktop, application, installer, attachment eða próf er galli í uppskrift jafnvel þó staðfesting segi valid.

Build sönnun

Vel heppnað build svarar: „Myndaði pipeline artifact?“ Það sannar ekki að hver ætluð eiginleiki hafi komist inn í image. Skoðið birgðaskrá pakka, uppruna, viðvaranir og sönnun byggingarstigs.

Guest staðfesting

Guest próf svara þröngum runtime spurningum: hvort VM ræstist, hvort þjónusta sé virk, hvort port hlusti, hvort skrá hafi væntanlegt innihald, hvort application hafi ræst. Assertion sem stendst styður aðeins hegðun sem raunverulega var athuguð.

Öryggisstillingar eru ásetningur

Samþykkt hardening_level gildi eru minimal, standard og strict, en þessi merki eru ekki flytjanleg compliance snið. Target generators geta túlkað þau mismunandi. Ef þú þarft benchmark, veldu nákvæmlega viðeigandi benchmark og geymdu niðurstöður eftir control; leiddu ekki CIS samræmi af strict.

Á sama hátt krefjast disk_encryption, audit_logging, SELinux, fail2ban, Secure Boot, dm-verity og installer stillinga samsvarandi artifact og runtime prófa.

Spjall og eignarhald uppskriftar

Þegar þú staðfestir eða breytir uppskrift sem var skrifuð í spjalli, er núverandi samtal áfram hluti authoring samhengis. Staðfesting á að fínpússa núverandi uppskrift, ekki skipta henni út fyrir almennt sjálfgefið án þess að segja til. Hins vegar er staðlað uppskrift síðasti checkpoint áður en build hefst.

Fyrir hverja verulega kröfu:

  • finndu samsvarandi staðlað svæði;
  • staðfestu gildi þess og mark scope;
  • bættu við assertion þar sem runtime sönnun er möguleg; og
  • geymdu deployment-only vinnu sem skýra viðvörun frekar en að þykjast að hún hafi gerst við image build.

Yfirferðar checklisti

  • Er base image og arkitektúr rétt?
  • Eru allir umbeðnir desktop og application eiginleikar til staðar?
  • Eru ytri heimildir festar og með leyfi fyrir ætluðu notkun?
  • Eru leyniorð fjarverandi í vistuðum recipe svæðum og scriptum?
  • Er installer stilltur og prófaður á einnota diski ef um var beðið?
  • Prófa atriði raunveruleg acceptance skilyrði?
  • Eru óstuddar eða deployment tímakröfur nefndar skýrt?

Sjá Uppskriftar skema fyrir svæðavísun og Your First Build fyrir build og niðurhal workflow.