NaplóindexDockup / terepjegyzet
Note / codex-end-to-end-deployment

Codex-deployment: teljes Dockup-munkafolyamat

Codex-deployment Dockuppal a CLI és a skill telepítésétől a Git-szolgáltatás létrehozásán, a JSON-ellenőrzésen, a health checkeken és a rollbacken át a biztonságos újrapróbálkozásokig.

Egy Codex-deploymentnek bizonyítékokkal, nem pedig feltételezéssel kell lezárulnia. A gyakorlati kihívás nem az, hogy megkérjük Codexet egy deploy parancs futtatására, hanem hogy olyan interfészt adjunk az ügynöknek, amely azonosítja a pontos célt, megvárja a terminális állapotot, valódi exit code-okat ad vissza, és böngésző nélkül is elérhetővé teszi a hibák részleteit.

A Dockup ennek a munkafolyamatnak a deployment rétege. A CLI minden támogatott parancshoz strukturált JSON-t ad Codexnek, a beépített skill pedig megtanítja az ügynököt hitelesíteni, szolgáltatásokat felderíteni, deployolni, hibát diagnosztizálni, valamint a destruktív műveletek előtt megállni.

Hogyan telepíthető a Codex CLI-skill?

Telepítsd globálisan a CLI-t, majd futtasd az egyetlen skill-telepítőt. Ez létrehozza a canonical skillt, és belinkeli a Claude Code-ba és a Codexbe is:

npm install -g dockup-cli
dockup skill install
dockup skill status --json

A canonical skill a ~/.agents/skills/dockup/ útvonalon található, és symlinkként szerepel a ~/.codex/skills/ alatt. A dockup-cli részeként érkezik, így egy szokásos frissítés egyszerre módosítja a végrehajtható fájlt és a hozzá tartozó utasításokat:

dockup update

Ez a verziók összekapcsolása különösen fontos nagy command surface esetén. Egy ügynöknek soha nem szabad csak azért végrehajtania egy megjegyzett flaget, mert az egy régi promptban szerepelt. Codexnek a csomagolt skillt és az aktuális Dockup CLI-referenciát kell használnia a parancsok hiteles forrásaként.

A skillek mögötti tervezési megfontolásokról lásd: agent skillek az MCP-vel szemben.

Hogyan hitelesít Codex interaktív terminál nélkül?

Előfordulhat, hogy egy sandbox vagy CI-feladat nem tudja végrehajtani a böngészőalapú bejelentkezést. Állíts be tokent a process környezetében:

export DOCKUP_TOKEN="<TOKEN>"
dockup whoami --json

A DOCKUP_TOKEN elsőbbséget élvez a helyi config fájllal szemben. A whoami válaszából kiderül, hogy az aktív credential a környezetből vagy a configból származik-e. Ez segít Codexnek diagnosztizálni azt a gyakori esetet, amikor egy régi helyi token és egy CI-token egyszerre van jelen.

A tokent kezeld infrastructure secretként. Ne tedd bele az AGENTS.md vagy a SKILL.md fájlba, source controlba, a repositoryba commitolt parancspéldákba, illetve az ügynök végső transcriptjébe. CI-ban használd a platform titkosított secret store-át, és csak a deployment lépés számára tedd elérhetővé az értéket. A teljes non-interactive minta részletes leírását lásd itt: CI/CD DOCKUP_TOKEN használatával.

Mielőtt írási hozzáférést adsz Codexnek, határozd meg a jogosultsági kereteit. Ésszerű kezdeti hatókör a szolgáltatások felderítése, a deployment, a logok olvasása és a status checkek futtatása. Az adatbázis törlése, a szolgáltatások megsemmisítése, a team módosítása és a config ritkítása maradjon jóváhagyáshoz kötött.

Hogyan találja meg vagy hozza létre Codex a megfelelő szolgáltatást?

A felderítés legyen az első művelet. Ne kérd Codexet arra, hogy a „Payments API” szöveget egy kitalált slugra alakítsa:

dockup services --json

Minden találat tartalmaz egy pontos target értéket project/service formában. Codexnek ezt az értéket kell átmásolnia a további parancsokba, és az összefoglalójában is vissza kell adnia.

Ha még nem létezik szolgáltatás, hozz létre egyet Gitből:

dockup create payments-api \
  --repo https://github.com/acme/payments-api \
  --project production \
  --branch main \
  --deploy \
  --wait \
  --link \
  --json

A parancs létrehozza a szolgáltatást, deployolja, megvárja a deployment lezárását, és egy .dockup linket ír a munkakönyvtárba. Ha van Dockerfile, azt használja; egyébként a Nixpacks automatikusan felismeri a buildet.

Amikor Codex elveszíti a session állapotát, vagy egy workflow hálózati megszakítás után újraindul, először újra fel kell derítenie a szolgáltatásokat, majd a módosítások előtt meg kell vizsgálnia a pontos targetet. Ha a target már létezik, az állapotából és a deployment historyból kell folytatni a munkát, nem pedig újabb create requestet kiadni.

A teljes repository-first sorozatot lásd itt: Git repositorytól productionig.

Hogyan készítse elő Codex a konfigurációt deploy előtt?

Kérd meg Codexet, hogy a módosítások előtt vizsgálja meg az aktuális service metadata adatait:

dockup info production/payments-api --json
dockup env list -s production/payments-api --json

A környezeti változókat tartalmazó válasz a kulcsokat és az isSecret jelöléseket is tartalmazza, miközben a secret értékek maszkolva maradnak. Codex külön adhat hozzá normál változókat és secreteket:

dockup env set NODE_ENV=production \
  -s production/payments-api \
  --json

dockup env set STRIPE_SECRET_KEY="$STRIPE_SECRET_KEY" \
  --secret \
  -s production/payments-api \
  --json

Soha ne tegyél production secretet a dockup.yaml fájlba; a manifest ellenőrizhető, egyszerű konfigurációhoz alkalmas, credentialekhez nem. A meglévő secret változókat a config-as-code workflow nem írja felül és nem ritkítja.

Állítsd be a szolgáltatás listening portját és readiness checkjét, ha ezek ismertek:

dockup set production/payments-api --port 3000 --json
dockup health production/payments-api \
  --path /health \
  --interval 5 \
  --retries 5 \
  --json

A readiness gate teszi értelmessé a production-ellenőrzést. A platform blue-green deploymentet hajt végre, és csak akkor irányítja át a forgalmat, amikor az új verzió teljesíti a gate feltételeit.

Hogyan erősíti meg a production-ellenőrzés a terminális állapotot?

Meglévő szolgáltatás esetén használj egyetlen parancsot:

dockup deploy production/payments-api \
  --wait \
  --timeout 900 \
  --json

A kifejezett timeout megegyezik az alapértelmezett 900 másodperccel, és láthatóvá teszi a workflow szándékát. A 0 exit azt jelenti, hogy a deployment sikeres volt. A deploy_failed értékkel jelzett nem nulla eredmény azt jelenti, hogy a build vagy a deploy hibával zárult. A deploy_timeout azt jelenti, hogy a művelet a várakozási idő végén még nem ért terminális állapotba.

A helyes Codex-ágazási logika a process státuszán alapul:

EredményCodex művelete
Exit 0, status:"success"Folytassa a health, uptime és security ellenőrzésével
deploy_failedOlvassa el a build logokat, és azonosítsa az első javítható hibát
deploy_timeoutJelezze a bizonytalanságot; vizsgálja meg a statust, vagy indítsa újra indokolt timeouttal
not_logged_inÁlljon le, és kérjen érvényes tokent
needs_confirmÁlljon le, és kérjen emberi jóváhagyást

Sikeres Codex-deployment után gyűjts megfigyelhető bizonyítékokat:

dockup status production/payments-api --json
dockup uptime production/payments-api --hours 24 --json
dockup security production/payments-api --json

Az uptime checkek percenként futnak, és olyan válaszidő-statisztikákat is tartalmaznak, mint a p95. A security eredmények tartalmazzák az image CVE-it és a konfigurációs ellenőrzéseket. Ezek a jelzések nem bizonyítják az üzleti helyességet, ezért Codexnek a repository saját smoke testjeit is le kell futtatnia, ha rendelkezésre állnak.

Hogyan diagnosztizálja és állítsa helyre Codex a sikertelen release-t?

A buildhibákhoz és a runtime hibákhoz eltérő logokra van szükség. A legutóbbi build kimenetét használd, ha a deployment soha nem jutott el futtatható containerig:

dockup logs production/payments-api --build --json

Runtime logokat használj, ha az image felépült, de az alkalmazás összeomlik, rossz porthoz bindol, vagy indulás után hibázik:

dockup logs production/payments-api --json

A follow mód hasznos hosszú build esetén:

dockup logs production/payments-api --build -f --json

JSON módban a follow kimenete NDJSON, így Codex minden batch-et feldolgozhat, amint az megérkezik. A stream terminális deployment-állapotnál ér véget, és megőrzi a valódi hibás exit code-ot.

A helyreállítást az előzmények vizsgálatával kell kezdeni, nem egy találomra választott rollback targettel:

dockup deployments production/payments-api -n 20 --json
dockup rollback <deploymentId> production/payments-api --json

Codexnek azonosítania kell egy ismerten sikeres deploymentet, meg kell neveznie a kiválasztott ID-t, és az újrafuttatás előtt meg kell őriznie a hibára vonatkozó bizonyítékokat. Soha nem választhatja ellenőrzés nélkül „a második elemet”; az állapotot és az időbélyegeket is validálnia kell.

Egy hasznos végső jelentés hét mezőt tartalmaz: target, branch vagy commit, deployment ID, exit code, terminális status, production URL és a további műveletek. Ez a formátum lehetővé teszi, hogy minden Codex-deploymentet egy ember vagy egy későbbi automatizálási lépés felülvizsgáljon.

Tömör ellenőrző script

Ez a shell-minta egyetlen átlátható vezérlési folyamatban tartja a deploymentet és a diagnosztikát:

if dockup deploy production/payments-api --wait --json > deploy-result.json; then
  dockup status production/payments-api --json
  dockup uptime production/payments-api --hours 24 --json
else
  dockup logs production/payments-api --build --json
  exit 1
fi

A script nem keres egy sikerre utaló mondatot grep-pel. A CLI exit code-jára támaszkodik, megőrzi a deployment JSON-ját, és hibával leállítja a hívó jobot, ha a production nem jutott sikeres állapotba.

Tedd láthatóvá az újrapróbálkozásokat ahelyett, hogy elrejtenéd őket

Az agent sessionök megszakadhatnak azután, hogy egy művelet elindult, de még azelőtt, hogy az eredmény bekerült volna a transcriptbe. A következő Codex-futtatásnak nem szabad vakon megismételnie minden mutációt. Újra fel kell derítenie a szolgáltatást, meg kell vizsgálnia a legutóbbi deploymentet, és meg kell állapítania, hogy az előző művelet eljutott-e terminális állapotba.

Egy Codex-deployment runbookjának a parancsokat meg kell különböztetnie aszerint, hogy biztonságosan ismételhetők, csak ellenőrzés után ismételhetők, vagy jóváhagyáshoz kötöttek. Az olvasási műveletek biztonságosan ismételhetők. A szolgáltatás létrehozása előtt felderítésre van szükség. Egy új deploy új production esemény, ezért ennek megfelelően kell rögzíteni. A ritkítás és az egyéb destruktív műveletek továbbra is emberi döntést igényelnek.

Válaszd külön a platform- és az alkalmazásszintű ellenőrzést

A Dockup bizonyítani tudja, hogy a build elkészült, a container ready állapotba került, és a percenként futó probe-ok elérik a publikus szolgáltatást. Codexnek ettől függetlenül alkalmazásspecifikus ellenőrzéseket is kell futtatnia: publikus health endpointot, authentikált tesztkérést vagy egy repository által biztosított, ügyféladatot nem módosító smoke testet.

A végső eredményben mindkét réteget fel kell tüntetni. A „platform deployment sikeres” és az „alkalmazás smoke testje sikeres” két külön állítás. Ha csak az első áll rendelkezésre, Codexnek ezt kell jeleznie, ahelyett hogy a bizonytalanságot egy zöld pipába sűrítené.

Automatizálás előtt erősítsd meg a telepített command surface-t

Egy újrahasznosítható Codex-feladatnak a dockup skill status --json ellenőrzésével kell kezdődnie, és meg kell nyitnia az aktuális CLI-referenciát, amikor egy kevésbé ismert opciótól függ. Így elkerülhető, hogy a session egy másik release-hez készült példát kövessen.

Az ellenőrzés különösen hasznos ephemeral runner környezetben, ahol egy friss globális npm-telepítés eltérhet a fejlesztő laptopján találhatótól. Codex még az első production write előtt jelentheti a skill állapotát, így a deployment rekordja reprodukálhatóvá válik.

Végső átadás

Őrizd meg a bizonyítékokat.

Tartsd láthatóan a targetet

A végső jelentésben add vissza a pontos service targetet.

Őrizd meg a source-döntést

Rögzítsd, hogy a Dockup a repository Dockerfile-ját vagy a Nixpackset használta-e. Ez az információ segít a következő Codex-sessionnek kiválasztani a megfelelő build logot, és megakadályozza, hogy egy source-layout változást platformincidensként értelmezzen.

Azt is rögzítsd, hogy engedélyezve van-e a push utáni automatikus deploy. Ellenkező esetben egy manuális agent release és egy push által indított release átfedhet, és ugyanabból a vizsgálatból két production eseményt hozhat létre.

Vidd a workflow-t productionbe

Az első Codex-deploymentet futtasd egy eldobható vagy alacsony kockázatú szolgáltatáson, majd ugyanazt az ellenőrzött parancsszerződést emeld production környezetbe.

npm install -g dockup-cli
dockup skill install

Az első parancs telepíti a CLI-t. A második a hozzá illeszkedő Dockup-skillt telepíti Claude Code és Codex számára. Kezdd ingyenesen az app.dockup.ai oldalon.

GYIK

Deployolhat Codex egy új Git repositoryt egyetlen paranccsal?

Igen. A dockup create létrehozhatja a szolgáltatást, deployolhatja azt, megvárhatja a terminális eredményt, és belinkelheti az aktuális könyvtárat, ha a --deploy, --wait és --link opciókkal használod.

Hogyan hitelesítse magát Codex a Dockuphoz?

Használd a DOCKUP_TOKEN értékét a process környezetében, majd ellenőrizd a dockup whoami --json paranccsal. Így sandboxokban és CI-ban elkerülhető az interaktív böngészős bejelentkezés.

Mi bizonyítja, hogy egy Codex-deployment sikeres volt?

A deploy parancsnak --wait használata után 0 exit code-dal kell kilépnie, a JSON-nak pedig sikeres terminális statust kell jeleznie. Ezt kövesse status, uptime és alkalmazásszintű smoke check.

Kiolvashatja Codex a production secreteket a Dockupból?

Nem. A secret értékek maszkolva jelennek meg a kimenetben. Codex beállíthat vagy lecserélhet egy secretet, de a konfiguráció listázásakor nem kapja meg a tárolt értéket.

Mit tegyen Codex a needs_confirm értékkel?

Álljon le, és kérjen kifejezett emberi jóváhagyást. A hiba azt jelzi, hogy egy destruktív parancsot a szükséges --yes megerősítés nélkül próbáltak végrehajtani.