Από μια ιδέα στην παραγωγή, χωρίς πισωγυρίσματα.
Το Nexus περιλαμβάνει το δικό του εργοστάσιο λογισμικού. Οι ιδέες αξιολογούνται, μια αίθουσα αποφάσεων επιλέγει μία, και οι πράκτορες ΤΝ μαζί με τους μηχανικούς την υλοποιούν σε κλάδους (branches). Το Forge δοκιμάζει κάθε αλλαγή σε σχέση με την κύρια γραμμή όπως αυτή θα διαμορφωθεί, όχι όπως ήταν, υπογράφει ό,τι χτίζει και το διαθέτει κατά κύματα, προβλέποντας πάντα έναν τρόπο επαναφοράς. Αρκετά γρήγορο για εργασία σε ρυθμούς ΤΝ, αρκετά προσεκτικό για ρυθμιζόμενα περιβάλλοντα.


Από ένα ερώτημα έως τη διάθεση, σε έξι βήματα.
Κάθε βήμα αφήνει καταγραφή και σε κάθε βήμα υπάρχει ένας άνθρωπος που μπορεί να το σταματήσει. Η διαδρομή από μια ιδέα έως τον εκτελούμενο κώδικα είναι πλήρως ανιχνεύσιμη ανά πάσα στιγμή.
Ιδεασμός
Θέστε ένα πραγματικό ερώτημα. Οι κύκλοι ιδεών παράγουν επιλογές, τις δοκιμάζουν μεταξύ τους και τις κατατάσσουν, εντός προϋπολογισμού.
Απόφαση
Η τελική λίστα πηγαίνει σε μια αίθουσα αποφάσεων. Ένα κατονομαζόμενο πρόσωπο αποφασίζει και η απόφαση γίνεται το σχέδιο.
Δημιουργία
Πράκτορες ΤΝ και μηχανικοί γράφουν την αλλαγή σε έναν κλάδο, μαζί με τις δοκιμές της, καθεμία στο δικό της απομονωμένο περιβάλλον (sandbox).
Έλεγχος
Μια πύλη ασφαλείας που μπλοκάρει, ένας έλεγχος ΤΝ που εξηγεί και ένας άνθρωπος που εγκρίνει όπου το απαιτούν οι κανόνες.
Συγχώνευση
Η ουρά συγχώνευσης δοκιμάζει κάθε αλλαγή μαζί με όσες προηγούνται. Η κύρια γραμμή δεν σπάει ποτέ.
Διάθεση
Οι υπογεγραμμένες εικόνες (images) διατίθενται κατά κύματα με ελέγχους εύρυθμης λειτουργίας. Κάθε έκδοση μπορεί να αναιρεθεί σε ένα ελεγμένο βήμα.
Ιδέες στη μία άκρη, λειτουργικό λογισμικό στην άλλη.
Το εργοστάσιο ενώνει τα μέρη του Nexus που σκέφτονται με τα μέρη που χτίζουν. Ιδέες, αποφάσεις, πράκτορες και το Forge μοιράζονται ένα ενιαίο αρχείο καταγραφής, ώστε να μπορείτε να ακολουθήσετε οποιαδήποτε γραμμή κώδικα πίσω στο ερώτημα από το οποίο ξεκίνησε.
Ιδέες, σε κατάταξη
Οι κύκλοι ιδεών δοκιμάζουν τις επιλογές μεταξύ τους και κρατούν το ισχυρότερο αντεπιχείρημα για καθεμία.
- Κατάταξη, σε άμεση σύγκριση
- Τα αντεπιχειρήματα, καταγεγραμμένα


Η απόφαση γίνεται το σχέδιο
- Ένα κατονομαζόμενο πρόσωπο αποφασίζει
- Η απόφαση αποτελεί την εντολή


Αλλαγές από πράκτορες και ανθρώπους
Οι πράκτορες ΤΝ ανοίγουν αιτήματα αλλαγών όπως κάθε μηχανικός. Κάθε αίτημα εμφανίζει τους ελέγχους, τις αξιολογήσεις και τη θέση του στην ουρά.
- Πράκτορες και άνθρωποι, ίδιοι κανόνες
- Τίποτα δεν συγχωνεύεται μόνο του


Ένας αξιολογητής ΤΝ σε κάθε αλλαγή
Κάθε αλλαγή εξετάζεται από έναν αξιολογητή ΤΝ που εξηγεί τι βρήκε, εντός ενός ημερήσιου ορίου δαπανών. Αυτός συμβουλεύει· οι άνθρωποι αποφασίζουν.
- Σημειώσεις με απλά λόγια
- Αυστηρό ημερήσιο όριο


Η κύρια γραμμή δεν σπάει ποτέ.
Οι περισσότερες ροές (pipelines) δοκιμάζουν μια αλλαγή στην κύρια γραμμή όπως ήταν όταν ξεκίνησε ο κλάδος. Το Forge τη δοκιμάζει στην κύρια γραμμή όπως θα είναι, μαζί με κάθε αλλαγή που προηγείται στην ουρά. Μια δομή (build) που αποτυγχάνει σε σάρωση ασφαλείας δεν υπογράφεται ποτέ, επομένως δεν μπορεί ποτέ να διατεθεί.
Δόμηση, σάρωση, υπογραφή, πρόταση
Κάθε δομή περνά από τα ίδια στάδια. Οι δοκιμές και η σάρωση ασφαλείας εκτελούνται παράλληλα· η υπογραφή περιμένει και τα δύο.
- Οι σαρώσεις μπλοκάρουν, δεν προειδοποιούν απλώς
- Οι αποτυχίες εξηγούνται με απλά λόγια


Τέσσερις πύλες, έπειτα κύματα
Κάθε έκδοση περνά τέσσερις πύλες και έπειτα διατίθεται σε 10 από τα 100 αιτήματα, μετά στα μισά και τέλος σε όλα.
- Κλειδωμένη σε ακριβή εικόνα
- Κύματα με ελέγχους εύρυθμης λειτουργίας


Τόσο γρήγορα όσο οι πράκτορες μπορούν να γράψουν.
Όταν οι πράκτορες ΤΝ γράφουν κώδικα, οι δομές καταφθάνουν κατά ριπάς. Εκτελεστές (runners) προστίθενται όσο οι εργασίες περιμένουν και αφαιρούνται όταν ολοκληρωθούν, ενώ μια κοινόχρηστη κρυφή μνήμη δόμησης (build cache) σημαίνει ότι το μεγαλύτερο μέρος κάθε εικόνας επαναχρησιμοποιείται αντί να χτίζεται από την αρχή.
Εκτελεστές που αυξάνονται ανάλογα με την ουρά
Κάθε δομή εκτελείται στο δικό της σφραγισμένο περιβάλλον δοκιμών (sandbox). Περισσότεροι εκτελεστές ξεκινούν όσο υπάρχουν εργασίες σε αναμονή, εντός ενός ορίου που εσείς ορίζετε.
- Ένα νέο περιβάλλον δοκιμών για κάθε εργασία
- Αυξομειώνεται εντός ορίου


Το μεγαλύτερο μέρος κάθε δομής, επαναχρησιμοποιημένο
Μια κοινόχρηστη κρυφή μνήμη διατηρεί τα επίπεδα που δεν άλλαξαν, ώστε μια τυπική δόμηση να διαρκεί λίγα λεπτά.
- Χρόνος δόμησης καταγεγραμμένος σε βάθος 30 ημερών
- Επιτυχίες κρυφής μνήμης ανά αποθετήριο


Μόνο υπογεγραμμένες δομές φτάνουν στην παραγωγή.
Κάθε εικόνα υπογράφεται στο ψηφιακό της αποτύπωμα, με καταγραφή του πώς και πού χτίστηκε. Η παραγωγή απορρίπτει οτιδήποτε ανυπόγραφο, ενώ τα μυστικά στοιχεία (secrets) εγγράφονται μία φορά και δεν εμφανίζονται ποτέ ξανά.
Υπογεγραμμένη στο αποτύπωμά της
Δύο άτομα κρατούν κάθε κλειδί υπογραφής. Κάθε εικόνα φέρει ένα αρχείο καταγραφής δόμησης, και οι ανυπόγραφες εικόνες απορρίπτονται όπου εσείς επιλέξετε.
- Κλειδιά που κρατούνται από δύο άτομα
- Απόρριψη ανυπόγραφων εικόνων


Μυστικά στοιχεία, μόνο ονομαστικά
Οι δομές και οι δοκιμές διαβάζουν τα μυστικά στοιχεία ονομαστικά. Μια τιμή εγγράφεται μία φορά και δεν εμφανίζεται ποτέ ξανά, ενώ κάθε ανάγνωση καταμετράται.
- Εγγράφεται μία φορά, δεν εμφανίζεται ποτέ
- Ποιος μπορεί να διαβάσει το καθένα


Διάθεση κατά κύματα, με δυνατότητα αναίρεσης.
Μια έκδοση είναι μια μικρή, ελεγμένη αλλαγή που κλειδώνει την ακριβή εικόνα προς εκτέλεση. Διατίθεται πρώτα σε λίγα αιτήματα, έπειτα στα μισά και τέλος σε όλα, με ενδιάμεσους ελέγχους εύρυθμης λειτουργίας. Η επαναφορά είναι το ίδιο είδος αλλαγής, εγκεκριμένη από ένα δεύτερο άτομο.
Από μια συγχωνευμένη αλλαγή στην εκτέλεση
- Κάθε βήμα από τη συγχώνευση έως την εκτέλεση
- Ό,τι χρειάζεται άνθρωπο, πρώτα


Επαναφορά σε περίπου ένα λεπτό
Η διαδικασία επαναφοράς προετοιμάζεται ως αλλαγή, ελέγχεται και εγκρίνεται από δεύτερο άτομο. Οι τακτικές ασκήσεις τη διατηρούν γρήγορη.
- Ελεγμένη αλλαγή, όχι πανικός
- Ασκήσεις ετοιμότητας κάθε μήνα


Ο κώδικάς σας, το υλισμικό σας, τους κανόνες σας.
Το Forge εκτελείται εντός της εγκατάστασής σας, στο δικό σας υλισμικό ή στο δικό μας cloud στην ΕΕ, χωρίς καμία εξωτερική υπηρεσία στη διαδρομή δόμησης. Συνεχίζει να χτίζει ακόμα και όταν η παραγωγή έχει πέσει — δηλαδή ακριβώς όταν χρειάζεται να διαθέσετε μια διόρθωση. Κάθε ρύθμιση αποθηκεύεται επίσης ως αρχείο, ώστε οι αλλαγές να ελέγχονται όπως ο κώδικας.
Κάθε ρύθμιση, με έλεγχο εκδόσεων
Ρυθμίσεις, ροές εργασιών, δεξιότητες και πολιτικές καταγράφονται ως αρχεία. Μια αλλαγή που γίνεται εκεί επιστρέφει ως ελεγμένη αλλαγή.
- Και προς τις δύο κατευθύνσεις, πάντα με έλεγχο
- Απόρριψη απευθείας αλλαγών στην κύρια γραμμή


Οι ριψοκίνδυνες ενέργειες ζητούν την ανάλογη επιβεβαίωση
Κάθε ενέργεια ενέχει έναν κίνδυνο. Όσο υψηλότερος είναι ο κίνδυνος, τόσο περισσότερα απαιτεί: πληκτρολόγηση ονόματος, δεύτερο άτομο, εκπλήρωση μιας προϋπόθεσης.
- Ρόλοι από τις ομάδες σας
- Οι κρίσιμες ενέργειες απαιτούν δύο άτομα


Σχετικά με το Forge και το εργοστάσιο ΤΝ.
Πρέπει να διατηρούμε τον κώδικά μας στο Forge;
Όχι. Το Forge παρέχεται ως προεπιλογή, αλλά το Nexus συνεργάζεται επίσης με την υπηρεσία φιλοξενίας κώδικα που ήδη χρησιμοποιείτε, σε επίπεδο οργανισμού ή τομέα (domain).
Γράφουν οι πράκτορες ΤΝ κώδικα μόνοι τους;
Γράφουν αλλαγές σε κλάδους, όπως κάθε μηχανικός. Τίποτα δεν φτάνει στην κύρια γραμμή χωρίς να περάσει τους ίδιους ελέγχους, ενώ ένας άνθρωπος εγκρίνει όπου το απαιτούν οι κανόνες σας.
Πώς αποτρέπετε τις οπισθοδρομήσεις (regressions);
Κάθε αλλαγή δοκιμάζεται μαζί με κάθε αλλαγή που προηγείται, ώστε η κύρια γραμμή να δέχεται μόνο συνδυασμούς που πέρασαν επιτυχώς. Οι εκδόσεις διατίθενται κατά κύματα με ελέγχους εύρυθμης λειτουργίας, και κάθε έκδοση μπορεί να επαναφερθεί σε ένα ελεγμένο βήμα.
Εξαρτάται η διαδρομή δόμησης από εξωτερικές υπηρεσίες;
Όχι. Η δόμηση, η σάρωση, η υπογραφή και η διάθεση εκτελούνται εξ ολοκλήρου εντός της εγκατάστασής σας, ώστε να μπορείτε να διαθέσετε μια διόρθωση ακόμα και όταν κάτι άλλο έχει τεθεί εκτός λειτουργίας.
Μπορούμε να δούμε τι κοστίζει το εργοστάσιο;
Ναι. Τα λεπτά δόμησης, οι εκτελεστές και ο έλεγχος ΤΝ έχουν το καθένα προϋπολογισμό και ανώτατο όριο, και καταμετρώνται όπως κάθε άλλη κλήση ΤΝ στο Nexus.
Εμβαθύνετε
Δείτε το εργοστάσιο να χτίζει κάτι πραγματικό.
Φέρτε μία ιδέα. Θα σας δείξουμε τη διαδρομή από μια αξιολογημένη λίστα επιλογών έως μια υπογεγραμμένη έκδοση, στο δικό σας υλισμικό.