Κοινοποίηση μέσω


Σύνολα τιμών σε βιβλιοθήκες μεταβλητών

Τα σύνολα τιμών σε μια βιβλιοθήκη μεταβλητών παρέχουν εναλλακτικά σύνολα τιμών για τις καθορισμένες μεταβλητές, υποστηρίζοντας σενάρια όπως ρυθμίσεις παραμέτρων για συγκεκριμένο περιβάλλον (Για παράδειγμα, dev, test, prod), δοκιμές A/B ή εναλλαγή προέλευσης δεδομένων εντός του ίδιου χώρου εργασίας.

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

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

Δομή και Εφαρμογή Συνόλων Αξιών

Ο ορισμός του στοιχείου Βιβλιοθήκη Μεταβλητών είναι δομημένος για να υποστηρίζει πολλαπλά σύνολα τιμών. Στο σχήμα του στοιχείου (τον ορισμό του JSON), όλες οι μεταβλητές και οι προεπιλεγμένες τιμές τους παρατίθενται σε μια κύρια ενότητα (συχνά ονομάζεται αρχείο "Προεπιλεγμένες τιμές" στο Git). Κάθε πρόσθετο σύνολο τιμών αποθηκεύεται ως ξεχωριστή οντότητα (ή αρχείο) που περιέχει μόνο τις μεταβλητές που διαφέρουν από την προεπιλογή. Με άλλα λόγια, εάν η τιμή μιας μεταβλητής σε ένα δεδομένο σύνολο τιμών είναι ίδια με την προεπιλογή, δεν επαναλαμβάνεται ρητά στον ορισμό αυτού του συνόλου τιμών.

  • Προκαθορισμένο Σύνολο Τιμών: Να υπάρχει πάντα και να περιέχει την τιμή γραμμής βάσης κάθε μεταβλητής (μαζί με μεταδεδομένα όπως όνομα και τύπος). Το αρχείο προεπιλεγμένων τιμών απαριθμεί όλες τις μεταβλητές με τις προεπιλεγμένες (κύριες) τιμές τους.

  • Σύνολο εναλλακτικών τιμών: Για κάθε πρόσθετο σύνολο τιμών (Για παράδειγμα, ένα σύνολο τιμών "Δοκιμή" ή "Προϊόν"), ο ορισμός παραθέτει μόνο εκείνες τις μεταβλητές όπου η τιμή παρακάμπτει την προεπιλογή. Εάν μια μεταβλητή δεν παρατίθεται σε ένα συγκεκριμένο αρχείο συνόλου τιμών, χρησιμοποιεί σιωπηρά την προεπιλεγμένη τιμή για αυτό το σύνολο.

Παράδειγμα: Εάν έχετε μια μεταβλητή ConnectionString με προεπιλεγμένη τιμή "dev-server" και δημιουργήσετε μια τιμή "Production" που την παρακάμπτει σε "prod-server", ο προεπιλεγμένος ορισμός θα έχει ConnectionString = "dev-server" και το αρχείο του συνόλου τιμών "Production" θα περιέχει ConnectionString = "prod-server" (και τίποτα για μεταβλητές που παραμένουν αμετάβλητες). Αυτή η προσέγγιση διατηρεί τους ορισμούς των συνόλων τιμών λιτούς και τονίζει μόνο τις διαφορές.

Αναπαράσταση στοιχείου ελέγχου προέλευσης

Στην ενσωμάτωση Git του Fabric, το παραπάνω σχήμα μεταφράζεται σε πολλά αρχεία κάτω από το φάκελο της Βιβλιοθήκης μεταβλητών. Από τη σχεδίαση, κάθε σύνολο τιμών σειριοποιείται στο δικό του αρχείο JSON (που πήρε το όνομά του από το σύνολο τιμών) που περιέχει τις παρακάμψεις του, ξεχωριστά από το αρχείο προεπιλεγμένων τιμών. Για παράδειγμα, ένα στοιχείο VL "MyVars" μπορεί να έχει:

MyVars_Default.json – Οι προεπιλεγμένες τιμές όλων των μεταβλητών. MyVars_Prod.json – μόνο μεταβλητές με διαφορετικές τιμές για το στάδιο "Prod". MyVars_Test.json – μόνο μεταβλητές με διαφορετικές τιμές για το στάδιο «Δοκιμή».

Αυτός ο σαφής διαχωρισμός σημαίνει ότι μπορείτε να παρακολουθείτε τις αλλαγές στη διαμόρφωση κάθε περιβάλλοντος ανεξάρτητα στον έλεγχο προέλευσης.

Είναι σημαντικό ότι η επιλογή ενεργού συνόλου τιμών δεν αποτελεί μέρος αυτών των αρχείων ορισμού – αποθηκεύεται ως κατάσταση στοιχείου (μια ρύθμιση σε επίπεδο χώρου εργασίας), έτσι ώστε η ανάπτυξη ή η εισαγωγή του στοιχείου να μην αντικαθιστά το σύνολο τιμών που είναι ενεργό αυτήν τη στιγμή σε έναν δεδομένο χώρο εργασίας. (Περισσότερα για τα σύνολα ενεργών τιμών παρακάτω.)

Σχήμα και τύποι δεδομένων

Τα σύνολα τιμών δεν εισάγουν νέους τύπους δεδομένων. Διατηρούν τιμές των ίδιων τύπων που ορίζονται από κάθε μεταβλητή. Ο ορισμός του στοιχείου καταγράφει το όνομα, τον τύπο, την προεπιλεγμένη τιμή και την προαιρετική σημείωση κάθε μεταβλητής. Οι σύνθετοι τύποι μεταβλητών όπως η Αναφορά στοιχείου έχουν δομημένα σχήματα (αποθήκευση αναγνωριστικών), αλλά αυτές οι τιμές αντιπροσωπεύονται σε κάθε σύνολο τιμών χρησιμοποιώντας μια συνεπή δομή JSON (Για παράδειγμα, μια αναφορά στοιχείου αποθηκεύει αναγνωριστικό χώρου εργασίας + αναγνωριστικό στοιχείου για το στοιχείο αυτού του σταδίου). Όλα τα αρχεία συνόλου τιμών ακολουθούν την ίδια δομή σχήματος με την προεπιλογή: ουσιαστικά μια αντιστοίχιση ονομάτων μεταβλητών στις τιμές αυτού του συνόλου (συμπεριλαμβανομένων μόνο εκείνων που αποκλίνουν από την προεπιλογή).

Συμβάσεις ονομασίας για σύνολα τιμών

Το όνομα ενός συνόλου τιμών μέσα σε μια βιβλιοθήκη μεταβλητών πρέπει να ακολουθεί αυτές τις συμβάσεις:

  • Δεν είναι άδειο
  • Δεν έχει αρχικά ή τελικά διαστήματα
  • Ξεκινά με ένα γράμμα ή μια υπογράμμιση
  • Μπορεί να περιλαμβάνει γράμματα, αριθμούς, παύλες υπογράμμισης και παύλες
  • Δεν υπερβαίνει τους 256 χαρακτήρες σε μήκος

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

Ζητήματα προς εξέταση και περιορισμοί

Περιορισμοί για εναλλακτικά σύνολα τιμών

  • Τα εναλλακτικά σύνολα τιμών σε μια βιβλιοθήκη μεταβλητών εμφανίζονται με τη σειρά με την οποία τα προσθέσατε. Προς το παρόν, δεν μπορείτε να τις αναδιατάξετε στο περιβάλλον εργασίας χρήστη. Για να αλλάξετε τη σειρά, επεξεργαστείτε απευθείας το αρχείο JSON.
  • Το όνομα κάθε συνόλου τιμών πρέπει να είναι μοναδικό μέσα σε μια βιβλιοθήκη μεταβλητών.
  • Τα ονόματα μεταβλητών πρέπει να είναι μοναδικά μέσα σε μια βιβλιοθήκη μεταβλητών. Μπορείτε να έχετε δύο μεταβλητές με το ίδιο όνομα σε έναν χώρο εργασίας, εάν βρίσκονται σε διαφορετικά στοιχεία.
  • Υπάρχει πάντα μία (και μόνο μία) ενεργή τιμή που έχει οριστεί σε μια βιβλιοθήκη μεταβλητών κάθε φορά. Δεν μπορείτε να διαγράψετε ένα σύνολο τιμών ενώ είναι ενεργό. Για να το διαγράψετε, ρυθμίστε πρώτα μια άλλη τιμή που έχει οριστεί ώστε να είναι ενεργή. Μπορείτε να ορίσετε διαφορετική ενεργή τιμή για κάθε στάδιο μιας διοχέτευσης ανάπτυξης.