Claude Code deployment: vodič za produkciju
Claude Code deployment uz Dockup: instalirajte agent skill, sigurno se autentificirajte, deployajte iz Git repozitorija, provjerite uspjeh i sigurno upravljajte produkcijom.
Claude Code deployment postaje pouzdan tek kada agent može razlikovati „zahtjev je prihvaćen” od „produkcija je zdrava”. Dockup pruža taj deployment layer putem CLI-ja osmišljenog za machine callers: strukturirani JSON, stvarne izlazne kodove procesa i način rada --wait, koji ostaje povezan dok deployment ne dosegne završno stanje.
Ovaj vodič vodi repozitorij od lokalnog rada do provjerenog produkcijskog izdanja. Također definira koje dozvole Claude Code treba dobiti, koje dokaze treba vratiti i u kojem trenutku čovjek mora odobriti destruktivnu radnju.
Što je Claude Code deploymentu potrebno prije produkcije?
Coding agent ne bi trebao započeti nagađanjem imena servisa ili klikanjem po dashboardu. Dajte mu uski operativni ugovor: pronađi točan cilj, napravi jednu namjeravanu promjenu, pričekaj rezultat i prijavi strojno čitljive dokaze.
Osnovni preduvjeti su jednostavni:
| Zahtjev | Zašto je važan | Provjera |
|---|---|---|
| Node.js 18 ili noviji | Potreban je Dockup CLI paketu | node --version |
| Dockup račun | Vlasnik je workspaceova, servisa i baza podataka | Prijavite se na app.dockup.ai |
| Git repozitorij | Izvor za build servisa | Potvrdite udaljeni URL i granu |
| API token | Autentifikacija bez interakcije | dockup whoami --json |
| Health endpoint ili port na kojem servis sluša | Kontrolira blue-green prebacivanje | dockup health ... --json |
Definirajte produkcijsku granicu prije nego što agent počne djelovati. Claude Code može kreirati servis, postaviti konfiguraciju koja nije tajna, pokrenuti deploy, pregledati logove i predložiti rollback. Ne bi smio brisati servis, uklanjati bazu podataka ni uklanjati konfiguraciju bez izričitog odobrenja čovjeka.
Dockup dodatno učvršćuje tu granicu. Destruktivne naredbe odbijaju nastavak bez opcije --yes i vraćaju strukturiranu pogrešku needs_confirm, umjesto da izostanak potvrde shvate kao poziv na improvizaciju. Za širu politiku pogledajte production guardrails za AI agente.
Kako instalirati Claude Code skill i sigurno se autentificirati?
Instalirajte CLI, instalirajte uključeni skill i provjerite odgovara li skill instaliranoj binarnoj datoteci:
npm install -g dockup-cli
dockup skill install
dockup skill status --json
Installer zapisuje canonical skill u ~/.agents/skills/dockup/ i povezuje ga s direktorijem skillova za Claude Code. Budući da se skill isporučuje u istom npm paketu kao i CLI, dockup update ažurira oba. Claude Code ne mora se oslanjati na kopiranu referencu naredbi koja možda opisuje flagove koje njegova lokalna binarna datoteka ne podržava.
Za autonomne sesije koristite token iz environmenta:
export DOCKUP_TOKEN="<TOKEN>"
dockup whoami --json
Uspješan odgovor identificira račun i navodi tokenSource kao env. Nemojte lijepiti token u prompt, commitati ga u repozitorij ni ispisivati u CI log. Tajne vrijednosti pohranjene u Dockupu maskiraju se prilikom ponovnog čitanja konfiguracije.
Potpuna referenca Dockup CLI-ja mjerodavan je popis naredbi. S 135 naredbi, Claude Code trebao bi provjeravati aktualnu referencu i zapakirani skill, umjesto da se oslanja na zapamćene flagove.
Budući da se skill isporučuje unutar CLI paketa, dockup update zajedno ažurira izvršnu datoteku i njezine upute. To usklađivanje verzija sigurnije je od kopiranja popisa naredbi u dugotrajni prompt.
Kako Dockup CLI kreira servis iz Git repozitorija?
Najprije zatražite od agenta da identificira workspace i izbjegavajte konstruiranje slugova iz prikaznih naziva. Postojeći ciljevi dohvaćaju se naredbom:
dockup services --json
Za repozitorij iz kojeg se još nikad nije deployalo, jedna transakcija može kreirati servis, deployati ga, pričekati dovršetak i povezati trenutačni direktorij:
dockup create my-api \
--repo https://github.com/acme/my-api \
--project production \
--deploy \
--wait \
--link \
--json
Kada repozitorij sadrži Dockerfile, Dockup ga koristi. Ako ga nema, Dockup se vraća na Nixpacks za automatsko prepoznavanje builda. Taj je izbor objašnjen u članku Nixpacks vs Dockerfile, uključujući situacije u kojima se isplati održavati eksplicitne build upute.
Prije ponovnog pokušaja kreiranja nakon prekinute sesije ponovno pokrenite dockup services --json i provjerite točan cilj. Ako servis već postoji, nastavite od njegova statusa umjesto da ponovno šaljete create zahtjev.
Nakon povezivanja, naredbe u tom repozitoriju mogu pronaći cilj iz datoteke .dockup, no production runbookovi i dalje trebaju bilježiti punu vrijednost project/service. Discovery je sigurna granica između prethodne radnje s neizvjesnim ishodom i nove produkcijske mutacije.
Kako pripremiti environment varijable, baze podataka i health checkove?
Uobičajenu konfiguraciju držite odvojeno od tajni. Claude Code može postaviti javnu runtime vrijednost i maskiranu tajnu, a da pritom kasnije ne ispisuje pohranjene vrijednosti tajni:
dockup env set NODE_ENV=production \
-s production/my-api \
--json
dockup env set API_KEY="$API_KEY" \
--secret \
-s production/my-api \
--json
Promjene environmenta primjenjuju se pri sljedećem deploymentu. To je namjerno: pokrenuti container zadržava svoje trenutačno procesno okruženje dok ga ne zamijeni novi. Cijeli operativni obrazac objašnjen je u članku environment varijable i tajne.
Ako aplikacija treba managed PostgreSQL bazu podataka, kreirajte je u odabranom workspaceu i pojedinosti pročitajte putem dokumentiranih naredbi za baze podataka:
dockup db create --name main-db --type postgresql --json
dockup db list --json
Private networking kasnije može servisima i bazama podataka dodijeliti stabilne nazive hostova oblika <slug>.internal unutar jednog projekta. Nemojte dopustiti agentu da izmišlja URL baze podataka; upotrijebite podatke za povezivanje koje vrati Dockup i pohranite ih kao tajnu.
Prije prvog važnog produkcijskog izdanja konfigurirajte readiness gate:
dockup health production/my-api \
--path /healthz \
--interval 5 \
--retries 5 \
--json
Dockup provodi blue-green deployment bez prekida rada i preusmjerava promet na novu verziju tek nakon što health gate prođe. Arhitektura je detaljnije objašnjena u članku deploymenti bez prekida rada.
Kako Claude Code provodi deployment i dokazuje da je uspio?
Koristite --wait; nemojte dopustiti agentu da „deployment je stavljen u red čekanja” protumači kao „aplikacija radi”:
dockup deploy production/my-api --wait --json
Zadano čekanje traje 900 sekundi. U slučaju uspjeha naredba završava s 0 i vraća završni status, trajanje, ID deploymenta i URL. Ako build ne uspije, završava s izlazom različitim od nule i kodom code:"deploy_failed". Ako je operacija i dalje u tijeku nakon isteka vremena, završava s izlazom različitim od nule i kodom code:"deploy_timeout".
Korisna uputa za Claude Code glasi: „Izlazni kod procesa tretiraj kao primarni rezultat, a zatim sažmi JSON polja.” Time se sprječava optimističan opis kada je platforma već vratila neuspjeh.
Nakon uspjeha prikupite tri neovisna signala:
dockup status production/my-api --json
dockup uptime production/my-api --hours 24 --json
dockup security production/my-api --json
status potvrđuje stanje servisa i posljednjeg deploymenta. uptime vraća statistiku monitoringa po minutama, uključujući prosječno vrijeme odgovora i p95. security prikazuje najnoviji CVE i rezultat skeniranja konfiguracije. Te provjere nadopunjuju sigurnosne prakse na razini aplikacije; ne zamjenjuju testove aplikacije.
Što Claude Code treba učiniti kada produkcija ne uspije?
Razlikujte neuspjeh builda od runtime neuspjeha. Neuspjeli build zahtijeva najnoviji build log:
dockup logs production/my-api --build --json
Container koji je uspješno izgrađen, ali se ruši nakon pokretanja, zahtijeva runtime izlaz:
dockup logs production/my-api --json
Za praćenje builda uz zadržavanje strojno čitljivih paketa koristite NDJSON follow mode:
dockup logs production/my-api --build -f --json
Naredba se zaustavlja kada deployment dosegne završno stanje i završava s izlazom različitim od nule ako nije uspio. Claude Code može streamati napredak bez izmišljanja polling petlje.
Ako je trenutačno izdanje nezdravo, a poznati prethodni deployment treba ponovno pokrenuti, izlistajte povijest i upotrijebite njegov točan ID:
dockup deployments production/my-api -n 20 --json
dockup rollback <deploymentId> production/my-api --json
Agent treba navesti koji je ID deploymenta odabrao i zašto. Rollback je operativna odluka, a ne zamjena za razumijevanje uzroka neuspjeha. Sačuvajte build log, runtime log, izlazni kod i audit zapis kako bi se incident mogao rekonstruirati.
Završni izvještaj o Claude Code deploymentu treba sadržavati cilj, commit ili granu, ID deploymenta, završni status, URL, proteklo vrijeme, rezultat provjere zdravlja i sve preostale rizike. Ti dokazi pretvaraju autonomnu radnju u produkcijsku promjenu koju je moguće pregledati.
Definirajte ugovor o dovršetku za produkciju
Prije početka u zadatak unesite očekivani ugovor o dovršetku. Koristan zahtjev glasi: deployaj povezani repozitorij na production/my-api; čekaj završni rezultat; nemoj ništa brisati, uklanjati naredbom prune ni prenositi; u slučaju neuspjeha vrati kod pogreške i posljednjih 60 relevantnih redaka build loga; u slučaju uspjeha vrati status, URL, ID deploymenta, trajanje i dokaze o zdravlju.
Ova formulacija Claude Codeu daje ograničen cilj i shemu izvještavanja. Također sprječava agenta da „usputno” mijenja nepovezanu infrastrukturu kada izdanje ne uspije. Agent može predložiti zaseban popravak, ali produkcijska radnja ostaje pripisana jednom zahtjevu.
Za ponovljena izdanja vodite mali release zapis u repozitoriju ili sustavu za upravljanje promjenama. Zabilježite cilj, izvornu granu, očekivanu health putanju, uobičajeno vrijeme isteka i odobrenu radnju oporavka. Claude Code deployment sigurniji je kada sljedeća sesija ne mora rekonstruirati te činjenice iz povijesti razgovora.
Provjerite granicu računa prije prvog upisa
Workspaceovi predstavljaju granice vlasništva i naplate. Zatražite od Claude Codea da prikaže whoami, izlista servise i navede odabrani workspace prije nego što išta promijeni. Pro plan iznosi 20 USD mjesečno i uključuje 20 USD kredita za korištenje te je preporučeni plaćeni plan; svi plaćeni planovi omogućuju neograničen broj workspaceova, baza podataka i deploymenta, dok se korištenje CPU-a, RAM-a i diska mjeri po minuti i naplaćuje iz salda plana.
Taj model naplate ne mijenja sigurnosno pravilo: agent treba provjeriti korištenje i opseg cilja prije skaliranja ili kreiranja dodatnih resursa. Produkcijski izvještaj treba razlikovati pretplatnički plan od stvarne mjerene potrošnje.
Uvedite workflow u produkciju
Instalirajte skill u istom okruženju u kojem će Claude Code raditi, provjerite autentifikaciju i započnite s manje rizičnim servisom čiji je health endpoint već poznat.
npm install -g dockup-cli
dockup skill install
Prva naredba instalira CLI. Druga instalira odgovarajući Dockup skill za Claude Code i Codex. Započnite besplatno na app.dockup.ai.
Često postavljana pitanja
Može li Claude Code izravno deployati u produkciju koristeći Dockup?
Da. Instalirajte Dockup skill, osigurajte ograničeni DOCKUP_TOKEN, pronađite točan cilj u obliku project/service i pokrenite naredbu za deploy s opcijama --wait i --json.
Zašto Claude Code treba koristiti --wait?
Bez opcije --wait uspješan odgovor znači samo da je deployment stavljen u red čekanja. S opcijom --wait Dockup završava s kodom 0 tek nakon uspjeha, a u suprotnom vraća strukturirane pogreške deploy_failed ili deploy_timeout.
Vidi li Claude Code pohranjene vrijednosti tajni?
Dockup maskira vrijednosti tajni u izlazu. Agent može postaviti ili zamijeniti tajnu, ali čitanje konfiguracije okruženja ne vraća pohranjenu vrijednost tajne.
Što se događa kada repozitorij nema Dockerfile?
Dockup koristi Nixpacks za automatsko prepoznavanje i build aplikacije. Dockerfile iz repozitorija ima prednost ako postoji.
Kako se Claude Code može oporaviti od neuspjelog izdanja?
Trebao bi pregledati build i runtime logove, izlistati povijest deploymenta i ponovno pokrenuti poznati prethodni deployment naredbom dockup rollback koristeći točan ID deploymenta.
