Päiväkirjan hakemistoDockup / kenttämuistio
Note / claude-code-production-deployment

Claude Code -käyttöönotto: tuotanto-opas

Claude Code -käyttöönotto Dockupilla: asenna agentin skill, tunnistaudu turvallisesti, ota käyttöön Gitistä, varmista onnistuminen ja ylläpidä tuotantoa turvallisesti.

Claude Code -käyttöönotto on luotettava vasta, kun agentti osaa erottaa toisistaan pyynnön hyväksymisen ja sen, että tuotanto on terve. Dockup tarjoaa tämän käyttöönotto­kerroksen konekutsujille suunnitellulla CLI:llä: rakenteinen JSON, todelliset prosessin exit-koodit ja --wait-tila, joka pysyy liitettynä, kunnes käyttöönotto saavuttaa päätetilan.

Tässä oppaassa repository siirretään paikallisesta työstä varmennettuun tuotantojulkaisuun. Lisäksi määritellään, mitä oikeuksia Claude Codelle tulee antaa, millaiset todisteet sen tulee palauttaa ja missä kohdassa ihmisen on hyväksyttävä tuhoava toimenpide.

Mitä Claude Code -käyttöönotto edellyttää ennen tuotantoa?

Koodausagentin ei pidä aloittaa arvaamalla palvelun nimeä tai napsauttelemalla hallintapaneelia. Anna sille tarkasti rajattu toimintamalli: selvitä täsmällinen kohde, tee yksi tarkoitettu muutos, odota tulosta ja raportoi koneellisesti luettavat todisteet.

Perusedellytykset ovat yksinkertaiset:

VaatimusMiksi sillä on merkitystäVarmistus
Node.js 18 tai uudempiDockup CLI -paketti edellyttää sitänode --version
Dockup-tiliOmistaa workspacet, palvelut ja tietokannatKirjaudu osoitteessa app.dockup.ai
Git-repositoryPalvelun buildin lähdeVarmista remote-URL ja branch
API-tokenEi-interaktiivinen tunnistautuminendockup whoami --json
Health endpoint tai kuunteleva porttiOhjaa blue-green-vaihdostadockup health ... --json

Määritä tuotannon rajat ennen kuin agentti toimii. Claude Code voi luoda palvelun, määrittää ei-salaisia asetuksia, käynnistää käyttöönoton, tarkastella lokeja ja ehdottaa rollbackia. Sen ei pidä poistaa palvelua, poistaa tietokantaa tai karsia asetuksia ilman ihmisen nimenomaista hyväksyntää.

Dockup vahvistaa tätä rajaa. Tuhoavat komennot kieltäytyvät etenemästä ilman --yes-valitsinta ja palauttavat rakenteisen needs_confirm-virheen sen sijaan, että puuttuva vahvistus tulkittaisiin luvaksi improvisoida. Laajempaa käytäntöä varten tutustu AI-agenttien tuotantokaiteisiin.

Miten Claude Code -skill asennetaan ja tunnistaudutaan turvallisesti?

Asenna CLI, asenna sen mukana toimitettava skill ja varmista, että skill vastaa asennettua binääriä:

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

Asennusohjelma kirjoittaa kanonisen skillin hakemistoon ~/.agents/skills/dockup/ ja linkittää sen Claude Coden skill-hakemistoon. Koska skill toimitetaan samassa npm-paketissa kuin CLI, dockup update päivittää molemmat. Claude Coden ei tarvitse tukeutua kopioituun komentoviitteeseen, joka saattaa kuvata valitsimia, joita paikallinen binääri ei tue.

Käytä autonomisissa sessioissa ympäristötokenia:

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

Onnistunut vastaus yksilöi tilin ja ilmoittaa tokenSource-arvoksi env. Älä liitä tokenia kehotteeseen, commitoi sitä repositoryyn tai tulosta sitä CI-lokiin. Dockupiin tallennetut salaisuudet maskataan, kun asetukset luetaan takaisin.

Dockup CLI:n täydellinen viite on auktoritatiivinen komentopinta. Koska komentoja on 135, Claude Coden tulee tarkistaa ajantasainen viite ja paketoitu skill sen sijaan, että se luottaisi muistissa oleviin valitsimiin.

Koska skill toimitetaan CLI-paketin mukana, dockup update päivittää suoritettavan tiedoston ja sen ohjeet yhdessä. Tämä versioiden yhdenmukaisuus on turvallisempi kuin komentoluettelon kopioiminen pitkäikäiseen kehotteeseen.

Miten Dockup CLI luo palvelun Gitistä?

Pyydä agenttia ensin tunnistamaan workspace ja vältä slugien muodostamista näyttönimistä. Olemassa olevat kohteet palautetaan komennolla:

dockup services --json

Repositorylle, jota ei ole koskaan otettu käyttöön, yksi transaktio voi luoda palvelun, ottaa sen käyttöön, odottaa valmistumista ja linkittää nykyisen hakemiston:

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

Kun repository sisältää Dockerfilen, Dockup käyttää sitä. Jos Dockerfilea ei ole, Dockup käyttää Nixpacksia automaattiseen buildin tunnistukseen. Valinta selitetään artikkelissa Nixpacks vai Dockerfile, jossa käsitellään myös sitä, milloin eksplisiittiset build-ohjeet ovat ylläpitokustannustensa arvoisia.

Ennen kuin yrität luoda palvelun uudelleen keskeytyneen session jälkeen, suorita dockup services --json uudelleen ja tarkista täsmällinen kohde. Jos palvelu on jo olemassa, jatka sen tilasta sen sijaan, että lähettäisit uuden create-pyynnön.

Kun repository on linkitetty, kyseisen repositoryn komennot voivat selvittää kohteen tiedostosta .dockup, mutta tuotannon runbookeissa tulee silti kirjata koko project/service-arvo. Kohteen selvittäminen on turvallinen rajapyykki epävarman aiemman toimenpiteen ja uuden tuotantomuutoksen välillä.

Miten ympäristömuuttujat, tietokannat ja health checkit valmistellaan?

Pidä tavallinen konfiguraatio erillään salaisuuksista. Claude Code voi asettaa julkisen runtime-arvon ja maskatun salaisuuden tulostamatta myöhemmin tallennettuja salaisuuksien arvoja:

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

dockup env set API_KEY="$API_KEY" \
  --secret \
  -s production/my-api \
  --json

Ympäristömuutokset tulevat voimaan seuraavassa käyttöönotossa. Tämä on tarkoituksellista: käynnissä oleva container säilyttää nykyisen prosessiympäristönsä, kunnes se korvataan. Täydellinen toimintamalli on kuvattu artikkelissa ympäristömuuttujat ja salaisuudet.

Jos sovellus tarvitsee hallinnoidun PostgreSQL-tietokannan, luo se valittuun workspaceen ja lue sen tiedot dokumentoiduilla tietokantakomennoilla:

dockup db create --name main-db --type postgresql --json
dockup db list --json

Private networking voi myöhemmin antaa palveluille ja tietokannoille pysyvät <slug>.internal-isäntänimet yhden projektin sisällä. Älä anna agentin keksiä tietokannan URL-osoitetta, vaan käytä Dockupin palauttamia yhteystietoja ja tallenna ne salaisuutena.

Määritä readiness gate ennen ensimmäistä tärkeää tuotantojulkaisua:

dockup health production/my-api \
  --path /healthz \
  --interval 5 \
  --retries 5 \
  --json

Dockup suorittaa zero-downtime blue-green -käyttöönoton ja ohjaa liikenteen uuteen versioon vasta, kun health gate läpäistään. Arkkitehtuuria käsitellään tarkemmin artikkelissa zero-downtime-käyttöönotot.

Miten Claude Code ottaa version käyttöön ja todistaa sen onnistuneen?

Käytä --wait-valitsinta; älä anna agentin tulkita ilmaisua ”deployment queued” merkitykseksi ”application running”:

dockup deploy production/my-api --wait --json

Oletusarvoinen wait-aikakatkaisu on 900 sekuntia. Onnistuessaan komento päättyy koodiin 0 ja palauttaa päätetilan, keston, deployment ID:n ja URL-osoitteen. Jos build epäonnistuu, komento päättyy nollasta poikkeavaan arvoon ja palauttaa code:"deploy_failed". Jos toiminto on aikakatkaisun hetkellä vielä käynnissä, komento päättyy nollasta poikkeavaan arvoon ja palauttaa code:"deploy_timeout".

Hyödyllinen Claude Code -ohje on: ”Käsittele prosessin exit-koodi ensisijaisena tuloksena ja tiivistä sen jälkeen JSON-kentät.” Näin vältetään liian optimistinen kielenkäyttö, kun alusta on jo palauttanut virheen.

Onnistumisen jälkeen kerää kolme toisistaan riippumatonta signaalia:

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

status vahvistaa palvelun ja viimeisimmän käyttöönoton tilan. uptime palauttaa minuutti minuutilta kerätyt monitorointitilastot, mukaan lukien keskimääräisen vasteajan ja p95-arvon. security näyttää viimeisimmän imagen CVE- ja konfiguraatioskannauksen. Nämä tarkistukset täydentävät sovellustason tietoturvakäytäntöjä, mutta eivät korvaa sovellustestejä.

Mitä Claude Coden tulee tehdä, kun tuotanto epäonnistuu?

Erottele build-virhe runtime-virheestä. Epäonnistunut build edellyttää viimeisintä build-lokia:

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

Container, joka buildattiin onnistuneesti mutta kaatuu käynnistymisen jälkeen, edellyttää runtime-tulostetta:

dockup logs production/my-api --json

Voit seurata buildia säilyttäen koneellisesti luettavat erät käyttämällä NDJSON follow -tilaa:

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

Komento pysähtyy, kun käyttöönotto saavuttaa päätetilan, ja päättyy nollasta poikkeavalla arvolla, jos käyttöönotto epäonnistui. Claude Code voi suoratoistaa etenemistä ilman, että sen tarvitsee keksiä polling-loopia.

Jos nykyinen julkaisu ei ole terve ja tunnettu aiempi käyttöönotto pitäisi ajaa uudelleen, listaa historia ja käytä sen täsmällistä ID:tä:

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

Agentin tulee ilmoittaa, minkä deployment ID:n se valitsi ja miksi. Rollback on operatiivinen päätös, ei korvike vian ymmärtämiselle. Säilytä build-loki, runtime-loki, exit-koodi ja audit-tietue, jotta tapahtumat voidaan jäljittää myöhemmin.

Valmiin Claude Code -käyttöönottoraportin tulee sisältää kohde, commit tai branch, deployment ID, päätetila, URL-osoite, kulunut aika, health-tulos ja mahdolliset jatkoriskit. Näyttöön perustuva raportti tekee autonomisesta toimenpiteestä tarkistettavan tuotantomuutoksen.

Määritä tuotannon valmistumissopimus

Kirjaa odotettu valmistumissopimus tehtävään ennen aloittamista. Hyödyllinen pyyntö on: ota linkitetty repository käyttöön kohteeseen production/my-api; odota päätetulosta; älä poista, karsi tai siirrä mitään; palauta virheen sattuessa virhekoodi ja viimeiset 60 asiaankuuluvaa build-lokin riviä; palauta onnistumisen jälkeen tila, URL, deployment ID, kesto ja health-tiedot.

Tämä sanamuoto antaa Claude Codelle rajatun tavoitteen ja raportointiskeeman. Se myös estää agenttia muuttamasta ”avuliaasti” asiaankuulumatonta infrastruktuuria, kun julkaisu epäonnistuu. Agentti voi ehdottaa erillistä korjausta, mutta tuotantotoimenpide säilyy yhden pyynnön perusteella jäljitettävänä.

Pidä toistuvia julkaisuja varten pieni julkaisutietue repositoryssa tai muutostenhallintajärjestelmässä. Kirjaa kohde, lähdebranch, odotettu health-polku, normaali aikakatkaisu ja hyväksytty palautustoimenpide. Claude Code -käyttöönotto on turvallisempi, kun seuraavan session ei tarvitse päätellä näitä tietoja chat-historiasta.

Varmista tiliraja ennen ensimmäistä kirjoittavaa toimenpidettä

Workspacet ovat omistus- ja laskutusrajoja. Pyydä Claude Codea näyttämään whoami, listaamaan palvelut ja ilmoittamaan valittu workspace ennen kuin se muuttaa mitään. Pro-plan maksaa 20 $ kuukaudessa ja sisältää 20 $ käyttöhyvitystä, ja se on suositeltu maksullinen plan; kaikki maksulliset planit sallivat rajattomasti workspaceja, tietokantoja ja käyttöönottoja, kun taas CPU:n, RAM-muistin ja levyn käyttö mitataan minuuteittain planin saldoa vastaan.

Hinnoittelumalli ei muuta turvallisuussääntöä: agentin tulee tarkistaa käyttö ja kohteen laajuus ennen skaalaamista tai lisäresurssien luomista. Tuotantoraportissa tulee erottaa tilausplan todellisesta mitatusta kulutuksesta.

Vie työnkulku tuotantoon

Asenna skill samaan ympäristöön, jossa Claude Codea käytetään, varmista tunnistautuminen ja aloita matalan riskin palvelulla, jonka health endpoint tunnetaan jo.

npm install -g dockup-cli
dockup skill install

Ensimmäinen komento asentaa CLI:n. Toinen asentaa Claude Codelle ja Codexille vastaavan Dockup skillin. Aloita maksutta osoitteessa app.dockup.ai.

Usein kysyttyä

Voiko Claude Code ottaa version suoraan tuotantoon Dockupilla?

Kyllä. Asenna Dockup skill, anna rajattu DOCKUP_TOKEN, selvitä täsmällinen project/service-kohde ja suorita deploy-komento valitsimilla --wait ja --json.

Miksi Claude Coden tulee käyttää --wait-valitsinta?

Ilman --wait-valitsinta onnistunut vastaus tarkoittaa vain, että käyttöönotto asetettiin jonoon. Kun käytössä on --wait, Dockup päättyy koodiin 0 vasta onnistumisen jälkeen ja palauttaa muutoin rakenteisen deploy_failed- tai deploy_timeout-virheen.

Näkeekö Claude Code tallennettujen salaisuuksien arvot?

Dockup maskaa salaisuuksien arvot tulosteessa. Agentti voi asettaa tai korvata salaisuuden, mutta ympäristökonfiguraation lukeminen ei palauta tallennettua salaisuuden arvoa.

Mitä tapahtuu, jos repositoryssa ei ole Dockerfilea?

Dockup käyttää Nixpacksia sovelluksen automaattiseen tunnistamiseen ja buildaamiseen. Repositoryn Dockerfilella on etusija, jos sellainen on olemassa.

Miten Claude Code voi palautua virheellisestä julkaisusta?

Sen tulee tarkistaa build- ja runtime-lokit, listata käyttöönottohistoria ja ajaa tunnettu aiempi käyttöönotto uudelleen komennolla dockup rollback käyttäen täsmällistä deployment ID:tä.