Βάση γνώσεων
Ανάπτυξη με το Zinnector®: σύνδεση, έλεγχος, αποστολή
Από ένα τοπικό έργο σε έναν ζωντανό ιστότοπο: συνδεθείτε με ένα κλειδί API, συνδέστε το έργο σε μια θυρίδα φιλοξενίας, διαβάστε τον έλεγχο προετοιμασίας που συγκρίνει την PHP, τον δίσκο και το WordPress με τη θυρίδα, και κάντε push — συν επανεκδόσεις, ιστορικό αναπτύξεων και αρχεία καταγραφής δόμησης όταν κάτι πάει στραβά.
Μόλις ένα έργο εκτελείται τοπικά, τέσσερις εντολές το μεταφέρουν σε έναν ζωντανό ιστότοπο στη φιλοξενία Zinn Digital®: σύνδεση, σύνδεση του έργου με μια θyρίδα φιλοξενίας, ανάγνωση του pre-flight και αποστολή (push). Αυτό το άρθρο εξετάζει καθεμία ξεχωριστά, τι εκτυπώνει και τις εντολές που χρησιμοποιείτε στη συνέχεια — επανακαταχωρίσεις (redeploys), ιστορικό καταχωρίσεων και αρχεία καταγραφής (logs) δόμησης.
Συνδεθείτε με ένα κλειδί API
Δημιουργήστε ένα κλειδί στον πίνακα ελέγχου στην ενότητα Settings → API keys, και στη συνέχεια:
zinnector login
Το κλειδί πληκτρολογείται σε μια προτροπή — δεν γίνεται ποτέ αποδεκτό στη γραμμή εντολών, επομένως δεν μπορεί να καταλήξει στο ιστορικό του κελύφους σας ή σε μια λίστα διεργασιών. Στο CI, διοχετεύστε το: echo "$ZINN_API_KEY" | zinnector login --profile ci, ή ορίστε το ZINNECTOR_TOKEN και παραλείψτε τελείως το login. Το κλειδί επαληθεύεται πριν αποθηκευτεί και αποθηκεύεται με λειτουργία αρχείου 600. Το zinnector whoami --scopes δείχνει σε ποιον οργανισμό έχετε συνδεθεί και ποια δικαιώματα φέρει το κλειδί· ένα κλειδί sandbox επισημαίνεται ως τέτοιο.
Συνδέστε το έργο σε μια θυρίδα
zinnector link # επιλέξτε έναν ιστότοπο από μια λίστα
zinnector link example.com --repo acme/site --branch main
Το link εγγραφεί το id του ιστότοπου στο zinnector.json και, εκτός εάν περάσετε το --no-repo, συνδέει το απομακρυσμένο git του έργου με τον ιστότοπο στην πλατφόρμα, ώστε μια αποστολή (push) να τον καταχωρίσει. Κάντε commit το zinnector.json: ένας συνάδελφος που κλωνοποιεί το αποθετήριο καταχωρίζει στη συνέχεια στο ίδιο μέρος χωρίς να του το πουν. Δεν περιέχει κανένα μυστικό.
Διαβάστε το pre-flight
zinnector check
Αυτή είναι η εντολή για την οποία υπάρχει το CLI. Συγκρίνει το έργο σας με τη θυρίδα στην οποία πρόκειται να καταχωριστεί και εκτυπώνει κάθε ανατιστοιχία — και κάθε σύγκριση που δεν μπόρεσε να κάνει:
- Έκδοση PHP, με ένα χάσμα κύριας έκδοσης (major version) που βαθμολογείται ως υψηλό επειδή σπάει αξιόπιστα έναν ιστότοπο και ένα μικρότερο χάσμα που βαθμολογείται χαμηλότερα, επειδή η βαθμολόγηση των πάντων ως κρίσιμων διδάσκει στους ανθρώπους να παραλείπουν την προειδοποίηση.
- Εάν η θυρίδα μπορεί να αλλάξει στην έκδοση στην οποία δομήσατε, εάν η PHP της θυρίδας έχει περάσει το τέλος της ζωής της (end of life) και εάν το μηχάνημα έχει εφαρμόσει την έκδοση ή απλώς του έχει ειπωθεί.
- Το μέγεθος και ο αριθμός αρχείων του έργου σας σε σχέση με τον δίσκο και τον ελεύθερο χώρο inode που έχει απομείνει πραγματικά στη θυρίδα — ένα δέντρο WordPress μπορεί να ξεμείνει από αρχεία ενώ βρίσκεται πολύ κάτω από το όριο του δίσκου του.
- Οι εκδόσεις WordPress σε κάθε πλευρά, εάν η θυρίδα έχει ολοκληρώσει την προετοιμασία (provisioning) και εάν έχει συνδεθεί αποθετήριο για αποστολή (push).
Προειδοποιεί· ποτέ δεν μπλοκάρει. Κάθε εύρημα μπορεί να παρακαμφθεί με το zinnector push --force, επειδή γνωρίζετε πράγματα για τον δικό σας ιστότοπο που ένας ελεγκτής δεν γνωρίζει. Μια σύγκριση που δεν μπόρεσε να γίνει αναφέρεται ως άγνωστη (unknown), ποτέ ως επιτυχής, και η σύνοψη λέει πάντα πόσες υπήρχαν. Από προεπιλογή, η τοπική έκδοση PHP είναι αυτή που δηλώνεται στο zinnector.json· το --probe εκκινεί τον τοπικό χρόνο εκτέλεσης και τον μετράει αντί αυτού. Το --strict εξέρχεται με μη μηδενικό κωδικό και σε άγνωστα, κάτι που θέλει μια πύλη CI.
Αποστολή (Push)
zinnector push
Το push εκτελεί το pre-flight, αποστέλλει τα commits σας, ενεργοποιεί την καταχώριση και την παρακολουθεί μέχρι την ολοκλήρωση, εκτυπώνοντας την τελική κατάσταση και το καταχωρισμένο commit. Το --dry-run κάνει τα πάντα εκτός από την καταχώριση· το --no-wait την ενεργοποιεί και εξέρχεται· το --no-git καταχωρίζει ό,τι έχει ήδη η πλατφόρμα χωρίς αποστολή. Εάν το καταχωρισμένο commit δεν είναι αυτό μόλις στάλθηκε, το αναφέρει.
Όταν κάτι πάει στραβά
zinnector deploys example.com # ιστορικό καταχωρίσεων — κατάσταση, commit, ενεργοποίηση, μήνυμα
zinnector logs example.com --build # το αρχείο καταγραφής δόμησης της πιο πρόσφατης καταχώρισης
zinnector logs example.com --error # το αρχείο καταγραφής σφαλμάτων του ιστότοπου
zinnector deploy example.com # επανακαταχώριση όσων έχει ήδη η πλατφόρμα
zinnector ai "why is my deploy failing?"
Το zinnector ai εκτελείται στην πλατφόρμα έναντι του δικού σας λογαριασμού, ώστε να μπορεί να δει το ίδιο ιστορικό καταχωρίσεων και τα αρχεία καταγραφής. Από το εσωτερικό ενός έργου, στέλνει το σχήμα του έργου — ονόματα καταλόγων, εκδόσεις και το id του ιστότοπου — και ποτέ περιεχόμενα αρχείων.
Σχετικά
Εξακολουθείτε να έχετε απορίες;
Η υποστήριξη περιλαμβάνεται σε κάθε πρόγραμμα και απαντάμε στη γλώσσα σας.
Επικοινωνία με την υποστήριξη → Όλα τα άρθρα →