Κοινή χρήση μέσω


Επιλέξτε την καλύτερη επιλογή ροής εργασιών CI/CD Fabric για εσάς

Ο στόχος αυτού του άρθρου είναι να παρουσιάσει στους προγραμματιστές Fabric διάφορες επιλογές για τη δημιουργία διαδικασιών CI/CD στο Fabric, με βάση συνήθη σενάρια πελατών. Αυτό το άρθρο εστιάζει περισσότερο στη συνεχή ανάπτυξη (CD) της διαδικασίας CI/CD. Για μια συζήτηση σχετικά με το τμήμα συνεχούς ενοποίηση (CI), ανατρέξτε στο θέμα Διαχείριση διακλαδώσεις Git.

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

Προαπαιτούμενα στοιχεία

Για να αποκτήσετε πρόσβαση στη δυνατότητα διοχετεύσεων ανάπτυξης, πρέπει να πληροίτε τις ακόλουθες συνθήκες:

Διαδικασία ανάπτυξης

Η διαδικασία ανάπτυξης είναι ίδια σε όλα τα σενάρια ανάπτυξης και είναι ανεξάρτητη από τον τρόπο έκδοσης νέων ενημερώσεων στην παραγωγή. Όταν οι προγραμματιστές εργάζονται με έλεγχο προέλευσης, πρέπει να εργάζονται σε ένα απομονωμένο περιβάλλον. Στο Fabric, αυτό το περιβάλλον μπορεί να είναι είτε ένα IDE στον τοπικό υπολογιστή σας (όπως Power BI Desktop ή VS Code) είτε σε έναν διαφορετικό χώρο εργασίας στο Fabric. Μπορείτε να βρείτε πληροφορίες σχετικά με τα διαφορετικά ζητήματα που πρέπει να λάβετε υπόψη για τη διαδικασία ανάπτυξης στο θέμα Διαχείριση διακλαδώσεις του Git

Διάγραμμα που δείχνει πώς λειτουργεί η διαδικασία ανάπτυξης.

Διαδικασία έκδοσης

Η διαδικασία έκδοσης ξεκινά όταν ολοκληρωθούν οι νέες ενημερώσεις και το αίτημα έλξης (PR) συγχωνεύεται στον κοινόχρηστο κλάδο της ομάδας (όπως Κύριος, Ανάπτυξη κ.λπ.). Από αυτό το σημείο, υπάρχουν διαφορετικές επιλογές για τη δημιουργία μιας διαδικασίας έκδοσης στο Fabric.

Επιλογή 1 - Αναπτύξεις βάσει Git

Διάγραμμα που δείχνει πώς λειτουργεί η ανάπτυξη που βασίζεται στο Git.

Με αυτήν την επιλογή, όλες οι αναπτύξεις προέρχονται από το αποθετήριο δεδομένων Git. Κάθε στάδιο της διοχέτευσης έκδοσης έχει έναν αποκλειστικό κύριο κλάδο (στο διάγραμμα, αυτά τα στάδια είναι Dev, Test και Prod), ο οποίος τροφοδοτεί τον κατάλληλο χώρο εργασίας στο Fabric.

Όταν εγκριθεί και συγχωνευθεί ένα αίτημα έλξης στον κλάδο ανάπτυξης :

  1. Ενεργοποιείται μια διοχέτευση έκδοσης για την ενημέρωση του περιεχομένου του χώρου εργασίας ανάπτυξης . Αυτή η διαδικασία μπορεί επίσης να περιλαμβάνει μια διοχέτευση δόμησης για την εκτέλεση δοκιμών μονάδας, αλλά η πραγματική αποστολή αρχείων πραγματοποιείται απευθείας από το αποθετήριο δεδομένων στον χώρο εργασίας, χρησιμοποιώντας τα API Fabric Git. Ίσως χρειαστεί να καλέσετε άλλα API Fabric για λειτουργίες μετά την ανάπτυξη που ορίζουν συγκεκριμένες ρυθμίσεις παραμέτρων για αυτόν τον χώρο εργασίας ή πρόσληψη δεδομένων.
  2. Στη συνέχεια, δημιουργείται ένα αίτημα έλξης στον κλάδο Δοκιμή . Στις περισσότερες περιπτώσεις, το PR δημιουργείται χρησιμοποιώντας έναν κλάδο έκδοσης που μπορεί να επιλέξει το περιεχόμενο για να μετακινηθεί στο επόμενο στάδιο. Το αίτημα έλξης θα πρέπει να περιλαμβάνει τις ίδιες διαδικασίες αναθεώρησης και έγκρισης με οποιαδήποτε άλλη ομάδα ή τον οργανισμό σας.
  3. Μια άλλη διοχέτευση δόμησης και έκδοσης ενεργοποιείται για την ενημέρωση του χώρου εργασίας Δοκιμή , χρησιμοποιώντας μια διαδικασία παρόμοια με αυτή που περιγράφεται στο πρώτο βήμα.
  4. Ένα αίτημα έλξης δημιουργείται στον κλάδο Prod , χρησιμοποιώντας μια διαδικασία παρόμοια με αυτή που περιγράφεται στο βήμα #2.
  5. Μια άλλη διοχέτευση δόμησης και έκδοσης ενεργοποιείται για την ενημέρωση του χώρου εργασίας Prod , χρησιμοποιώντας μια διαδικασία παρόμοια με αυτή που περιγράφεται στο πρώτο βήμα.

Πότε πρέπει να εξετάσετε τη χρήση της επιλογής #1;

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

Επιλογή 2 - Αναπτύξεις βάσει Git με χρήση της δυνατότητας Δημιουργία περιβαλλόντων

Διάγραμμα που εμφανίζει τη ροή ανάπτυξης με βάση το Git με χρήση περιβαλλόντων δόμησης.

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

Όταν εγκριθεί και συγχωνευθεί ένα αίτημα έλξης στον κλάδο ανάπτυξης :

  1. Μια διοχέτευση δόμησης ενεργοποιείται για τη δημιουργία ενός νέου περιβάλλοντος δόμησης και την εκτέλεση δοκιμών μονάδων για το στάδιο ανάπτυξης . Στη συνέχεια, ενεργοποιείται μια διοχέτευση έκδοσης για την αποστολή του περιεχομένου σε ένα περιβάλλον δόμησης, την εκτέλεση δεσμών ενεργειών για την αλλαγή ορισμένων ρυθμίσεων παραμέτρων, την προσαρμογή της ρύθμισης παραμέτρων στο στάδιο ανάπτυξης και τη χρήση των API ορισμού στοιχείων Update του Fabric για την αποστολή των αρχείων στον χώρο εργασίας.
  2. Όταν ολοκληρωθεί αυτή η διαδικασία, συμπεριλαμβανομένης της πρόσληψης δεδομένων και της έγκρισης από τους διαχειριστές εκδόσεων, μπορούν να δημιουργηθούν οι επόμενες διοχετεύσεις δόμησης και έκδοσης για το στάδιο δοκιμής . Αυτά τα στάδια δημιουργούνται σε μια διαδικασία παρόμοια με αυτή που περιγράφεται στο πρώτο βήμα. Για το στάδιο δοκιμής , ενδέχεται να απαιτούνται άλλες αυτοματοποιημένες ή μη αυτόματες δοκιμές μετά την ανάπτυξη, προκειμένου να επικυρωθούν οι αλλαγές που είναι έτοιμες να κυκλοφορήσουν στο στάδιο Prod .
  3. Όταν ολοκληρωθούν όλες οι αυτοματοποιημένες και μη αυτόματες δοκιμές, η διαχείριση έκδοσης μπορεί να εγκρίνει και να ξεκινήσει το στάδιο δόμησης και έκδοσης διοχετεύσεων στο στάδιο Prod . Καθώς το στάδιο Prod συνήθως έχει διαφορετικές ρυθμίσεις παραμέτρων από τα στάδια δοκιμής/ανάπτυξης , είναι σημαντικό να δοκιμάσετε επίσης τις αλλαγές μετά την ανάπτυξη. Επίσης, η ανάπτυξη θα πρέπει να ενεργοποιήσει περισσότερες πρόσληψη δεδομένων, με βάση την αλλαγή, για να ελαχιστοποιηθεί η ενδεχόμενη μη διαθεσιμότητα για τους καταναλωτές.

Πότε πρέπει να εξετάσετε τη χρήση της επιλογής #2;

  • Όταν θέλετε να χρησιμοποιήσετε το Git ως μοναδική πηγή αλήθειας και την προέλευση όλων των αναπτύξεων.
  • Όταν η ομάδα σας ακολουθεί τη ροή εργασιών που βασίζεται σε Trunk ως στρατηγική διακλάδωσης.
  • Χρειάζεστε ένα περιβάλλον δόμησης (με μια προσαρμοσμένη δέσμη ενεργειών) για να αλλάξετε τα χαρακτηριστικά του χώρου εργασίας, όπως το connectionId και το lakehouseId, πριν από την ανάπτυξη.
  • Χρειάζεστε μια διοχέτευση έκδοσης (προσαρμοσμένη δέσμη ενεργειών) για να ανακτήσετε περιεχόμενο στοιχείου από το git και να καλέσετε το αντίστοιχο API στοιχείου Fabric για τη δημιουργία, ενημέρωση ή διαγραφή τροποποιημένων στοιχείων Fabric.

Επιλογή 3 - Ανάπτυξη με χρήση διοχετεύσεων ανάπτυξης Fabric

Διάγραμμα που εμφανίζει τη ροή ανάπτυξης με βάση το Git με χρήση διοχετεύσεων ανάπτυξης.

Με αυτή την επιλογή, το Git συνδέεται μόνο μέχρι το στάδιο ανάπτυξης. Από το στάδιο ανάπτυξης , οι αναπτύξεις πραγματοποιούνται απευθείας μεταξύ των χώρων εργασίας ανάπτυξης/δοκιμής/παραγωγής, χρησιμοποιώντας διοχετεύσεις ανάπτυξης Fabric. Παρόλο που το ίδιο το εργαλείο είναι εσωτερικό του Fabric, οι προγραμματιστές μπορούν να χρησιμοποιήσουν τα API διοχετεύσεων ανάπτυξης για να οργανώσουν την ανάπτυξη ως μέρος της διοχέτευσης έκδοσης Azure ή μιας ροής εργασιών GitHub. Αυτά τα API επιτρέπουν στην ομάδα να δημιουργήσει μια παρόμοια διαδικασία δόμησης και έκδοσης όπως σε άλλες επιλογές, χρησιμοποιώντας αυτοματοποιημένες δοκιμές (που μπορούν να γίνουν στον ίδιο τον χώρο εργασίας ή πριν από το στάδιο ανάπτυξης ), τις εγκρίσεις κ.λπ.

Όταν εγκριθεί και συγχωνευθεί το αίτημα έλξης στον κύριο κλάδο:

  1. Ενεργοποιείται μια διοχέτευση δόμησης που αποστέλλει τις αλλαγές στο στάδιο ανάπτυξης χρησιμοποιώντας τα API Fabric Git. Εάν είναι απαραίτητο, η διοχέτευση μπορεί να ενεργοποιήσει άλλα API για την έναρξη λειτουργιών/δοκιμών μετά την ανάπτυξη στο στάδιο ανάπτυξης .
  2. Μετά την ολοκλήρωση της ανάπτυξης ανάπτυξης , ξεκινά μια διοχέτευση έκδοσης για την ανάπτυξη των αλλαγών από το στάδιο ανάπτυξης στο στάδιο δοκιμής . Οι αυτοματοποιημένες και μη αυτόματες δοκιμές θα πρέπει να πραγματοποιούνται μετά την ανάπτυξη, ώστε να εξασφαλίζεται ότι οι αλλαγές ελέγχονται καλά πριν φθάσουν στην παραγωγή.
  3. Μετά την ολοκλήρωση των δοκιμών και την έγκριση της ανάπτυξης από τη διαχείριση εκδόσεων στο στάδιο Prod , ενεργοποιείται η έκδοση του Prod και ολοκληρώνεται η ανάπτυξη.

Πότε θα πρέπει να εξετάσετε τη χρήση της επιλογής #3;

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

Επιλογή 4 - CI/CD για ISV στο Fabric (διαχείριση πολλών πελατών/λύσεων)

Διάγραμμα που εμφανίζει τη ροή ανάπτυξης βάσει Git για ISV.

Αυτή η επιλογή είναι διαφορετική από τις άλλες. Είναι πιο σχετικό για ανεξάρτητους προμηθευτές λογισμικού (ISV) που δημιουργούν εφαρμογές SaaS για τους πελάτες τους με βάση το Fabric. Οι ISV συνήθως έχουν ξεχωριστό χώρο εργασίας για κάθε πελάτη και μπορούν να έχουν έως και αρκετές εκατοντάδες ή χιλιάδες χώρους εργασίας. Όταν η δομή των αναλύσεων που παρέχονται σε κάθε πελάτη είναι παρόμοια και έτοιμες για χρήση, συνιστάται να έχετε μια κεντρική διαδικασία ανάπτυξης και δοκιμής που να διαχωρίζει κάθε πελάτη μόνο στο στάδιο Prod .

Αυτή η επιλογή βασίζεται στην επιλογή #2. Όταν εγκριθεί και συγχωνευθεί το αίτημα έλξης προς το κύριο αίτημα έλξης:

  1. Μια διοχέτευση δόμησης ενεργοποιείται για τη δημιουργία ενός νέου περιβάλλοντος δόμησης και την εκτέλεση δοκιμών μονάδας για το στάδιο ανάπτυξης . Όταν ολοκληρωθούν οι δοκιμές, ενεργοποιείται μια διοχέτευση έκδοσης . Αυτή η διοχέτευση μπορεί να αποστείλει το περιεχόμενο σε ένα περιβάλλον δόμησης, να εκτελέσει δέσμες ενεργειών για να αλλάξει ορισμένες από τις ρυθμίσεις παραμέτρων, να προσαρμόσει τη ρύθμιση παραμέτρων στο στάδιο ανάπτυξης και, στη συνέχεια, να χρησιμοποιήσει τα API ορισμού στοιχείου Update του Fabric για να αποστείλει τα αρχεία στον χώρο εργασίας.
  2. Μετά την ολοκλήρωση αυτής της διαδικασίας, συμπεριλαμβανομένης της πρόσληψης δεδομένων και της έγκρισης από τους διαχειριστές εκδόσεων, μπορεί να ξεκινήσει η επόμενη δόμηση και έκδοση διοχετεύσεων για το στάδιο δοκιμής . Αυτή η διαδικασία είναι παρόμοια με αυτή που περιγράφεται στο πρώτο βήμα. Για το στάδιο δοκιμής , ενδέχεται να απαιτούνται άλλες αυτοματοποιημένες ή μη αυτόματες δοκιμές μετά την ανάπτυξη, προκειμένου να επαληθευτεί ότι οι αλλαγές είναι έτοιμες για κυκλοφορία στο στάδιο Prod σε υψηλή ποιότητα.
  3. Όταν περάσουν όλες οι δοκιμές και ολοκληρωθεί η διαδικασία έγκρισης, μπορεί να ξεκινήσει η ανάπτυξη σε πελάτες Prod . Κάθε πελάτης έχει τη δική του έκδοση με τις δικές του παραμέτρους, έτσι ώστε η συγκεκριμένη ρύθμιση παραμέτρων και η σύνδεσή του δεδομένων να μπορούν να πραγματοποιηθούν στον χώρο εργασίας του σχετικού πελάτη. Η αλλαγή της ρύθμισης παραμέτρων μπορεί να γίνει μέσω δεσμών ενεργειών σε ένα περιβάλλον δόμησης ή με τη χρήση API μετά την ανάπτυξη. Όλες οι εκδόσεις μπορούν να συμβούν παράλληλα, καθώς δεν σχετίζονται ούτε εξαρτώνται μεταξύ τους.

Πότε πρέπει να εξετάσετε τη χρήση της επιλογής #4;

  • Είστε ένας ISV που δημιουργεί εφαρμογές πάνω από το Fabric.
  • Χρησιμοποιείτε διαφορετικούς χώρους εργασίας για κάθε πελάτη για τη διαχείριση της πολλαπλής μίσθωσης της εφαρμογής σας
  • Για περισσότερο διαχωρισμό ή για συγκεκριμένες δοκιμές για διαφορετικούς πελάτες, μπορεί να θέλετε να έχετε πολλαπλή μίσθωση σε προηγούμενα στάδια ανάπτυξης ή δοκιμής. Σε αυτή την περίπτωση, θεωρήστε ότι με την πολλαπλή μίσθωση ο αριθμός των απαιτούμενων χώρων εργασίας αυξάνεται σημαντικά.

Σύνοψη

Αυτό το άρθρο συνοψίζει τις κύριες επιλογές CI/CD για μια ομάδα που θέλει να δημιουργήσει μια αυτοματοποιημένη διαδικασία CI/CD στο Fabric. Ενώ περιγράφουμε τέσσερις επιλογές, οι περιορισμοί στον πραγματικό χρόνο και η αρχιτεκτονική λύσης μπορεί να προσφέρονται σε υβριδικές επιλογές ή εντελώς διαφορετικές. Μπορείτε να χρησιμοποιήσετε αυτό το άρθρο για να σας καθοδηγήσει σε διάφορες επιλογές και τον τρόπο δόμησης τους, αλλά δεν είστε αναγκασμένοι να επιλέξετε μόνο μία από τις επιλογές.

Ορισμένα σενάρια ή συγκεκριμένα στοιχεία μπορεί να έχουν περιορισμούς που μπορούν να σας εμποδίσουν να υιοθετήσετε οποιοδήποτε από αυτά τα σενάρια.

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