Ευρετήριο ημερολογίουDockup / σημείωση πεδίου
Note / claude-code-production-deployment

Ανάπτυξη του Claude Code: Οδηγός για production

Ανάπτυξη του Claude Code με το Dockup: εγκατάσταση του agent skill, ασφαλής authentication, ανάπτυξη από Git, επαλήθευση επιτυχίας και ασφαλής λειτουργία σε production.

Η ανάπτυξη του Claude Code γίνεται αξιόπιστη μόνο όταν ο agent μπορεί να διακρίνει τη «λήψη του αιτήματος» από το «το production είναι healthy». Το Dockup παρέχει αυτό το deployment layer μέσω ενός CLI σχεδιασμένου για machine callers: structured JSON, πραγματικούς κωδικούς εξόδου διεργασιών και λειτουργία --wait, η οποία παραμένει συνδεδεμένη μέχρι μια ανάπτυξη να φτάσει σε terminal state.

Αυτός ο οδηγός μεταφέρει ένα repository από την τοπική εργασία σε ένα επαληθευμένο production release. Καθορίζει επίσης τα permissions που πρέπει να έχει το Claude Code, τα evidence που πρέπει να επιστρέφει και το σημείο στο οποίο απαιτείται ανθρώπινη έγκριση για μια destructive action.

Τι χρειάζεται το Claude Code για ανάπτυξη πριν από το production;

Ένας coding agent δεν πρέπει να ξεκινά μαντεύοντας το όνομα ενός service ή κάνοντας περιήγηση σε ένα dashboard. Δώστε του ένα σαφές και περιορισμένο operating contract: να εντοπίσει τον ακριβή στόχο, να κάνει μία συγκεκριμένη αλλαγή, να περιμένει το αποτέλεσμα και να αναφέρει machine-readable evidence.

Οι βασικές προϋποθέσεις είναι απλές:

ΑπαίτησηΓιατί έχει σημασίαΕπαλήθευση
Node.js 18 ή νεότεροΑπαιτείται από το πακέτο Dockup CLInode --version
Λογαριασμός DockupΔιαχειρίζεται workspaces, services και databasesΣυνδεθείτε στο app.dockup.ai
Git repositoryΠηγή για το build του serviceΕπιβεβαιώστε το remote URL και το branch
API tokenAuthentication χωρίς αλληλεπίδρασηdockup whoami --json
Health endpoint ή listening portΚαθορίζει το blue-green cutoverdockup health ... --json

Καθορίστε τα όρια του production πριν ενεργήσει ο agent. Το Claude Code μπορεί να δημιουργήσει ένα service, να ορίσει non-secret configuration, να ξεκινήσει ένα deploy, να ελέγξει logs και να προτείνει rollback. Δεν πρέπει να διαγράψει service, να αφαιρέσει database ή να καθαρίσει configuration χωρίς ρητή ανθρώπινη έγκριση.

Το Dockup ενισχύει αυτό το όριο. Οι destructive commands αρνούνται να προχωρήσουν χωρίς --yes και επιστρέφουν structured σφάλμα needs_confirm, αντί να αντιμετωπίζουν την απουσία επιβεβαίωσης ως πρόσκληση για αυτοσχεδιασμό. Για μια ευρύτερη πολιτική, δείτε τα production guardrails για AI agents.

Πώς εγκαθιστάτε το Claude Code skill και κάνετε ασφαλές authentication;

Εγκαταστήστε το CLI, εγκαταστήστε το bundled skill και επαληθεύστε ότι το skill αντιστοιχεί στο εγκατεστημένο binary:

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

Ο installer γράφει το canonical skill στο ~/.agents/skills/dockup/ και το συνδέει με τον κατάλογο skills του Claude Code. Επειδή το skill περιλαμβάνεται στο ίδιο npm package με το CLI, το dockup update ενημερώνει και τα δύο. Το Claude Code δεν χρειάζεται να βασίζεται σε ένα αντιγραμμένο command reference που μπορεί να περιγράφει flags τα οποία δεν υποστηρίζει το τοπικό binary.

Χρησιμοποιήστε ένα environment token για autonomous sessions:

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

Μια επιτυχημένη απόκριση αναγνωρίζει τον λογαριασμό και αναφέρει το tokenSource ως env. Μην επικολλάτε το token σε prompt, μην το κάνετε commit στο repository και μην το εμφανίζετε σε CI log. Οι secret values που αποθηκεύονται στο Dockup γίνονται masked όταν διαβάζεται ξανά το configuration.

Το πλήρες reference του Dockup CLI είναι η authoritative επιφάνεια εντολών. Με 135 commands, το Claude Code πρέπει να συμβουλεύεται το τρέχον reference και το packaged skill αντί να βασίζεται σε flags που θυμάται.

Επειδή το skill περιλαμβάνεται στο CLI package, το dockup update ενημερώνει μαζί το executable και τις οδηγίες του. Αυτή η ευθυγράμμιση εκδόσεων είναι ασφαλέστερη από την αντιγραφή μιας λίστας εντολών σε ένα prompt που διατηρείται για μεγάλο χρονικό διάστημα.

Πώς δημιουργεί το Dockup CLI ένα service από Git;

Αρχικά ζητήστε από τον agent να αναγνωρίσει το workspace και αποφύγετε τη δημιουργία slugs από display names. Τα υπάρχοντα targets επιστρέφονται με:

dockup services --json

Για ένα repository που δεν έχει γίνει ποτέ deploy, μία transaction μπορεί να δημιουργήσει το service, να κάνει deploy, να περιμένει την ολοκλήρωση και να συνδέσει τον τρέχοντα κατάλογο:

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

Όταν το repository περιέχει Dockerfile, το Dockup το χρησιμοποιεί. Αν δεν υπάρχει, το Dockup χρησιμοποιεί το Nixpacks για automatic build detection. Η επιλογή εξηγείται στο Nixpacks vs Dockerfile, μαζί με το πότε αξίζει το κόστος συντήρησης των explicit build instructions.

Πριν επαναλάβετε τη δημιουργία μετά από μια διακοπείσα session, εκτελέστε ξανά dockup services --json και ελέγξτε το ακριβές target. Αν το service υπάρχει ήδη, συνεχίστε από το status του αντί να στείλετε νέο create request.

Μόλις γίνει το linking, οι commands σε αυτό το repository μπορούν να εντοπίζουν το target από το .dockup, όμως τα production runbooks πρέπει και πάλι να καταγράφουν την πλήρη τιμή project/service. Το discovery είναι το ασφαλές όριο ανάμεσα σε μια αβέβαιη προηγούμενη ενέργεια και σε μια νέα production mutation.

Πώς πρέπει να προετοιμάζονται τα environment variables, οι databases και τα health checks;

Κρατήστε το ordinary configuration ξεχωριστά από τα secrets. Το Claude Code μπορεί να ορίσει μια public runtime value και ένα masked secret χωρίς να εμφανίζει αργότερα τις αποθηκευμένες secret values:

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

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

Οι αλλαγές στο environment εφαρμόζονται στο επόμενο deployment. Αυτό είναι σκόπιμο: ένα container που εκτελείται διατηρεί το τρέχον process environment μέχρι να αντικατασταθεί. Το πλήρες operating pattern καλύπτεται στο environment variables και secrets.

Αν η εφαρμογή χρειάζεται managed PostgreSQL database, δημιουργήστε την στο επιλεγμένο workspace και διαβάστε τα στοιχεία της μέσω των documented database commands:

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

Το private networking μπορεί αργότερα να παρέχει στα services και στις databases σταθερά hostnames <slug>.internal μέσα σε ένα project. Μην αφήνετε τον agent να επινοεί database URL· χρησιμοποιήστε τις connection πληροφορίες που επιστρέφει το Dockup και αποθηκεύστε τις ως secret.

Ρυθμίστε ένα readiness gate πριν από το πρώτο σημαντικό production release:

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

Το Dockup εκτελεί zero-downtime blue-green deployment και μεταφέρει traffic στη νέα έκδοση μόνο αφού περάσει το health gate. Η αρχιτεκτονική αναλύεται στο zero-downtime deployments.

Πώς κάνει deploy το Claude Code και αποδεικνύει ότι πέτυχε;

Χρησιμοποιήστε --wait· μην αφήνετε τον agent να ερμηνεύει το «deployment queued» ως «application running»:

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

Το default wait timeout είναι 900 δευτερόλεπτα. Σε περίπτωση επιτυχίας, η command ολοκληρώνεται με 0 και επιστρέφει το terminal status, τη διάρκεια, το deployment ID και το URL. Αν αποτύχει το build, ολοκληρώνεται με non-zero και code:"deploy_failed". Αν η operation εκτελείται ακόμη όταν λήξει το timeout, ολοκληρώνεται με non-zero και code:"deploy_timeout".

Μια χρήσιμη οδηγία για το Claude Code είναι: «Θεώρησε τον process exit code ως το primary result και, στη συνέχεια, κάνε summarize τα JSON fields». Έτσι αποφεύγεται η αισιόδοξη διατύπωση όταν η πλατφόρμα έχει ήδη επιστρέψει failure.

Μετά την επιτυχία, συλλέξτε τρία ανεξάρτητα signals:

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

Το status επιβεβαιώνει την κατάσταση του service και του τελευταίου deployment. Το uptime επιστρέφει minute-by-minute monitoring statistics, όπως τον μέσο χρόνο απόκρισης και το p95. Το security εμφανίζει το τελευταίο image CVE και το configuration scan. Αυτοί οι έλεγχοι συμπληρώνουν τις πρακτικές application-level security· δεν αντικαθιστούν τα application tests.

Τι πρέπει να κάνει το Claude Code όταν αποτυγχάνει το production;

Διαχωρίστε το build failure από το runtime failure. Ένα failed build απαιτεί το πιο πρόσφατο build log:

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

Ένα container που έκανε build αλλά καταρρέει μετά το startup απαιτεί runtime output:

dockup logs production/my-api --json

Για να παρακολουθείτε ένα build διατηρώντας machine-readable batches, χρησιμοποιήστε NDJSON follow mode:

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

Η command σταματά όταν το deployment φτάσει σε terminal state και ολοκληρώνεται με non-zero αν αποτύχει. Το Claude Code μπορεί να κάνει stream την πρόοδο χωρίς να επινοήσει polling loop.

Αν το τρέχον release δεν είναι healthy και πρέπει να εκτελεστεί ξανά ένα γνωστό προηγούμενο deployment, εμφανίστε το history και χρησιμοποιήστε το ακριβές ID του:

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

Ο agent πρέπει να αναφέρει ποιο deployment ID επέλεξε και για ποιον λόγο. Το rollback είναι operational απόφαση και όχι υποκατάστατο της κατανόησης του failure. Διατηρήστε το build log, το runtime log, τον exit code και το audit record, ώστε το incident να μπορεί να ανασυσταθεί.

Μια ολοκληρωμένη αναφορά ανάπτυξης του Claude Code πρέπει να περιλαμβάνει το target, το commit ή branch, το deployment ID, το terminal status, το URL, τον χρόνο που παρήλθε, το health result και κάθε follow-up risk. Αυτά τα στοιχεία μετατρέπουν μια autonomous action σε production change που μπορεί να ελεγχθεί.

Ορίστε ένα production completion contract

Πριν ξεκινήσετε, συμπεριλάβετε στο task το αναμενόμενο completion contract. Ένα χρήσιμο αίτημα είναι: κάνε deploy το linked repository στο production/my-api, περίμενε terminal result, μην κάνεις delete, prune ή transfer τίποτα· σε περίπτωση failure, επέστρεψε τον error code και τις τελευταίες 60 σχετικές γραμμές του build log· σε περίπτωση επιτυχίας, επέστρεψε status, URL, deployment ID, duration και health evidence.

Αυτή η διατύπωση δίνει στο Claude Code έναν bounded στόχο και ένα reporting schema. Επίσης εμποδίζει τον agent να αλλάξει «βοηθητικά» άσχετη υποδομή όταν αποτυγχάνει το release. Ο agent μπορεί να προτείνει ξεχωριστό fix, όμως η production action παραμένει αποδοτέα σε ένα συγκεκριμένο request.

Για επαναλαμβανόμενα releases, διατηρήστε ένα σύντομο release record στο repository ή στο change-management system. Καταγράψτε το target, το source branch, το αναμενόμενο health path, το normal timeout και την εγκεκριμένη recovery action. Μια ανάπτυξη του Claude Code είναι ασφαλέστερη όταν η επόμενη session δεν χρειάζεται να ανασυνθέσει αυτά τα στοιχεία από το ιστορικό συνομιλιών.

Επαληθεύστε το όριο του account πριν από το πρώτο write

Τα workspaces αποτελούν όρια ιδιοκτησίας και χρέωσης. Ζητήστε από το Claude Code να εμφανίσει το whoami, να παραθέσει τα services και να δηλώσει το επιλεγμένο workspace πριν τροποποιήσει οτιδήποτε. Το Pro plan κοστίζει $20 τον μήνα και περιλαμβάνει $20 σε usage credit, ενώ αποτελεί το προτεινόμενο paid plan. Όλα τα paid plans επιτρέπουν απεριόριστα workspaces, databases και deployments, ενώ η χρήση CPU, RAM και disk μετράται ανά λεπτό έναντι του υπολοίπου του plan.

Αυτό το μοντέλο χρέωσης δεν αλλάζει τον κανόνα ασφαλείας: ένας agent πρέπει να ελέγχει τη χρήση και το scope του target πριν κάνει scaling ή δημιουργήσει επιπλέον resources. Η production report πρέπει να διακρίνει το subscription plan από την πραγματική metered consumption.

Θέστε τη ροή σε production

Εγκαταστήστε το skill στο ίδιο environment όπου θα εκτελείται το Claude Code, επαληθεύστε το authentication και ξεκινήστε με ένα low-risk service του οποίου το health endpoint είναι ήδη γνωστό.

npm install -g dockup-cli
dockup skill install

Η πρώτη command εγκαθιστά το CLI. Η δεύτερη εγκαθιστά το matching Dockup skill για Claude Code και Codex. Ξεκινήστε δωρεάν στο app.dockup.ai.

FAQ

Μπορεί το Claude Code να κάνει απευθείας deploy σε production με το Dockup;

Ναι. Εγκαταστήστε το Dockup skill, παρέχετε ένα scoped DOCKUP_TOKEN, εντοπίστε το ακριβές project/service target και εκτελέστε την deploy command με --wait και --json.

Γιατί πρέπει το Claude Code να χρησιμοποιεί το --wait;

Χωρίς το --wait, μια επιτυχημένη απόκριση σημαίνει μόνο ότι το deployment μπήκε στην ουρά. Με το --wait, το Dockup ολοκληρώνεται με 0 μόνο μετά την επιτυχία και επιστρέφει structured errors deploy_failed ή deploy_timeout σε κάθε άλλη περίπτωση.

Βλέπει το Claude Code τις αποθηκευμένες secret values;

Το Dockup κάνει mask τις secret values στο output. Ο agent μπορεί να ορίσει ή να αντικαταστήσει ένα secret, όμως η ανάγνωση του environment configuration δεν επιστρέφει την αποθηκευμένη secret value.

Τι συμβαίνει όταν ένα repository δεν έχει Dockerfile;

Το Dockup χρησιμοποιεί το Nixpacks για να εντοπίσει και να κάνει αυτόματα build την εφαρμογή. Ένα Dockerfile του repository έχει προτεραιότητα όταν υπάρχει.

Πώς μπορεί το Claude Code να επαναφέρει ένα προβληματικό release;

Πρέπει να ελέγξει τα build και runtime logs, να εμφανίσει το deployment history και να εκτελέσει ξανά ένα γνωστό προηγούμενο deployment με το dockup rollback, χρησιμοποιώντας το ακριβές deployment ID.