
Κάνω έρευνα για ορισμένες τεχνικές μη εύθραυστα διαδικασία απελευθέρωσης στο περιβάλλον 24x7x365 υπηρεσία web. Ποια είναι μερικά από τα αγαπημένα σας μεθόδους για την απελευθέρωση κώδικα από ένα περιβάλλον ανάπτυξης σε ένα περιβάλλον εντατικής παραγωγής. Αυτό περιλαμβάνει όχι μόνο τις αλλαγές κώδικα - αλλά και οι αλλαγές σχήματος βάσης δεδομένων. Ας υποθέσουμε ότι όλα έχουν δοκιμαστεί και με δεδομένο το μπράβο στο οικοσύστημα του περιβάλλοντος ανάπτυξης.


Ποια μέτρα θα πάρει δίπλα του τον εξορθολογισμό της παραγωγής; Ανακατευθύνουν την κίνηση σε ένα σύμπλεγμα downtime και να εκτελέσετε κάποια αυτοματοποιημένα scripts; Αν ναι, τι κάνουν τα σενάριά σας; Αν δεν σενάρια, τι είδους ρουτίνας είστε λάτρης της;


Ψάχνετε για μόνο τεχνικές γνώσεις. Παρακαλώ δεν «δίνουν στους πελάτες άφθονη προειδοποίηση» απαντήσεις τύπου.


Ευχαριστώ!

 
/ Ανάπτυξη / Συντήρηση διαδικασία απελευθέρωσης για μια υπηρεσία web
====================================================================



Υπάρχουν μερικές αρχές που πιστεύω ότι είναι σημαντικό να εξασφαλιστεί:


1. Απελευθέρωση μόνο από το σύστημα ελέγχου της πηγής (είτε ένα ειδικό κατάστημα ή μια ετικέτα στην κεντρική γραμμή). Δεν υπάρχει δυνατότητα απελευθέρωσης απ 'ευθείας από τον κατάλογο εργασίας.
2. Κάντε push-to-παραγωγής και push-to-στάσης διαδικασίες εντελώς αυτοματοποιημένη (συμπεριλαμβανομένων των ενημερώσεων σχήματος)
3. Έχουν αυτοματοποιημένο πρόγραμμα επαναφοράς στο χέρι, και δεν πρέπει να φοβόμαστε να το χρησιμοποιήσετε αν κάτι φαίνεται λάθος.
4. Όλες οι αλλαγές σχήματος βάσης δεδομένων γίνεται με σταδιακή roll-forward / επαναφοράς ικανό εργαλείο (όπως ActiveRecord ή Liquibase). Η απαίτηση για πλήρη αποκαθιστά DB θα πρέπει να είναι σπάνια.
5. (Για τις πραγματικά μεγάλες ομάδες) Να τροχαίο αναβαθμίσεις? χρησιμοποιούν δύο balancers φορτίο, μία για την έκδοση Ν και ένα για το N 1 απελευθέρωσης +. Δοκιμή συνεχώς ως πρόσθετων κόμβων ενταχθούν 1 ομάδα Ν +.

 

Denis Hennessy έγραψε ένα πρόστιμο περίληψη. Όσο για τα εργαλεία, ρίξτε μια ματιά στο [Capistrano](http://www.capify.org/) .

 