Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Το εργαλείο Solution Packager μπορεί να χρησιμοποιηθεί με οποιοδήποτε σύστημα ελέγχου προέλευσης. Μετά την αποσυμπίεση ενός αρχείου. zip λύσης σε ένα φάκελο, απλώς προσθέστε και υποβάλετε τα αρχεία στο σύστημα ελέγχου προέλευσής σας. Τα αρχεία αυτά είναι δυνατό να συγχρονιστούν στη συνέχεια σε έναν άλλο υπολογιστή όπου μπορούν να συμπιεστούν σε ένα νέο πανομοιότυπο αρχείο. zip λύσης.
Μια σημαντική πτυχή κατά τη χρήση αρχείων στοιχείων που έχουν εξαχθεί στον έλεγχο προέλευσης είναι ότι η προσθήκη όλων των αρχείων στον έλεγχο προέλευσης μπορεί να προκαλέσει περιττή επικάλυψη. Ανατρέξτε στην Αναφορά αρχείου στοιχείου λύσης για να δείτε ποια αρχεία δημιουργούνται για κάθε τύπο στοιχείου και ποια αρχεία συνιστώνται για χρήση στον έλεγχο προέλευσης.
Καθώς απαιτούνται περαιτέρω προσαρμογές και αλλαγές για τη λύση, οι προγραμματιστές θα πρέπει να επεξεργαστούν ή να προσαρμόσουν στοιχεία μέσω των υπαρχόντων μέσων, να κάνουν εξαγωγή ξανά για να δημιουργήσουν ένα αρχείο. zip και να εξαγάγουν το συμπιεσμένο αρχείο λύσης στον ίδιο φάκελο.
Σημαντικό
Εκτός από τις ενότητες που περιγράφονται στο Πότε θα πρέπει να επεξεργαστείτε το αρχείο προσαρμογών, δεν υποστηρίζεται η μη αυτόματη επεξεργασία των αρχείων στοιχείων που έχουν εξαχθεί και των αρχείων .zip.
Όταν το εργαλείο Solution Packager εξαγάγει τα αρχεία στοιχείων, δεν θα αντικαταστήσει τα υπάρχοντα αρχεία στοιχείων με το ίδιο όνομα, εάν τα περιεχόμενα των αρχείων είναι πανομοιότυπα. Επιπλέον, το εργαλείο διαφυλάσσει το χαρακτηριστικό "μόνο για ανάγνωση" σε αρχεία στοιχείων, παράγοντας μια προειδοποίηση στο παράθυρο της κονσόλας ότι δεν είχαν εγγραφεί τα συγκεκριμένα αρχεία. Αυτή η προστασία παρέχει στο χρήστη τη δυνατότητα να κάνει έλεγχο εξόδου από το σύστημα ελέγχου πηγαίου κώδικα για το ελάχιστο σύνολο αρχείων που αλλάζουν. Η παράμετρος /clobber μπορεί να χρησιμοποιηθεί για την παράκαμψη και για να προκαλέσει τη σύνταξη ή τη διαγραφή αρχείων μόνο για ανάγνωση. Η παράμετρος /allowWrite μπορεί να χρησιμοποιηθεί για να εκτιμηθεί ο αντίκτυπος που έχει μια λειτουργία εξαγωγής χωρίς να προκαλεί πραγματικά την εγγραφή ή διαγραφή των αρχείων. Είναι εφικτή η χρήση της παραμέτρου /allowWrite με τη λεπτομερή καταγραφή.
Μετά την ολοκλήρωση της λειτουργίας εξαγωγής με το ελάχιστο σύνολο αρχείων να έχουν εξαχθεί από τον έλεγχο προέλευσης, ένας προγραμματιστής μπορεί να υποβάλει τα τροποποιημένα αρχεία ξανά στον έλεγχο προέλευσης, όπως γίνεται με οποιονδήποτε άλλο τύπο αρχείου προέλευσης.
Μορφές αρχείου ελέγχου προέλευσης
Το εργαλείο Solution Packager υποστηρίζει δύο μορφές αρχείου για αρχεία στοιχείων που έχουν εξαχθεί. Η επιλογή της σωστής μορφής εκ των προτέρων αποτρέπει την χρειάζεται να μετεγκαταστήσετε αργότερα τη δομή του αποθετηρίου δεδομένων σας.
| Μορφή XML (παλαιού τύπου) | Μορφή ελέγχου προέλευσης YAML | |
|---|---|---|
| Διακήρυξη λύσης | Other\Solution.xml + Other\Customizations.xml |
solutions/<name>/solution.yml και υποστήριξη αρχείων YAML |
| Αναγνωσιμότητα | Λεπτομερές XML | Μικρή YAML — πιο ευανάγνωστη και πιο εύκολη στην αναθεώρηση |
| Ποιότητα Diff στο Git | Μεγάλες διαφορές XML | Ελάχιστες, εστιασμένες διαφορές |
| Αποθετήριο πολλαπλών λύσεων | Δεν υποστηρίζεται | Υποστηρίζεται — πολλές λύσεις μοιράζονται έναν φάκελο |
| Canvas εφαρμογές (.msapp) | Δεν υποστηρίζεται | Υποστηρίζεται |
| Σύγχρονες ροές | Δεν υποστηρίζεται | Υποστηρίζεται |
| Εγγενής ενοποίηση Git | Δεν χρησιμοποιείται | Χρησιμοποιείται πάντα — Η ενοποίηση Git γράφει πάντα YAML |
Πότε να χρησιμοποιείτε τη μορφή YAML: Για όλα τα νέα έργα και κάθε φορά που χρησιμοποιείτε εγγενή ενοποίηση Dataverse Git. Η μορφή YAML είναι συμβατή με το εμπρός και παράγει καθαρότερο ιστορικό αλλαγών.
Πότε να χρησιμοποιείτε τη μορφή XML: Μόνο όταν εργάζεστε με υπάρχοντα αποθετήρια που χρησιμοποιούν ήδη τη μορφή XML ή όταν χρησιμοποιείτε εργαλεία παλαιού τύπου που δεν υποστηρίζουν YAML.
Note
Όταν διαπράττετε λύσεις χρησιμοποιώντας την εγγενή ενοποίηση Git σε Power Apps, αποθηκεύονται πάντα στη μορφή στοιχείου ελέγχου προέλευσης YAML. Για να συσκευάσετε ή να αποσυμπιέσετε με μη αυτόματο τρόπο αυτήν την προέλευση χρησιμοποιώντας το SolutionPackager ή το pac solution pack, ο φάκελος πρέπει να ακολουθεί τη δομή φακέλων YAML. Περισσότερες πληροφορίες: Εργαλείο SolutionPackager — Μορφές αρχείων ελέγχου προέλευσης
Ανάπτυξη ομάδας
Όταν υπάρχουν πολλοί προγραμματιστές που εργάζονται στο ίδιο στοιχείο λύσης, μπορεί να προκύψει διένεξη όταν οι αλλαγές από δύο προγραμματιστές έχουν ως αποτέλεσμα αλλαγές σε ένα μόνο αρχείο. Αυτό το φαινόμενο ελαχιστοποιείται με την αποσύνθεση κάθε μεμονωμένου επεξεργάσιμου στοιχείου ή δευτερεύοντος στοιχείου σε ένα διακριτό αρχείο. Ας δούμε το παρακάτω παράδειγμα.
Οι προγραμματιστές Α και Β εργάζονται και οι δύο στην ίδια λύση.
Σε ανεξάρτητους υπολογιστές, και οι δύο λαμβάνουν τις τελευταίες εκδόσεις της λύσης από το σύστημα ελέγχου πηγής, δημιουργούν πακέτο και εισάγουν ένα αρχείο .zip μη διαχειριζόμενης λύσης σε διαφορετικούς οργανισμούς του Microsoft Dataverse.
Ο προγραμματιστής A προσαρμόζει την προβολή συστήματος "Ενεργές επαφές" και την κύρια φόρμα για την οντότητα "Επαφή".
Ο προγραμματιστής Β προσαρμόζει την κύρια φόρμα για την οντότητα Λογαριασμός και αλλάζει την "Προβολή αναζήτησης επαφών".
Και οι δύο προγραμματιστές εξάγουν ένα αρχείο. zip μη διαχειριζόμενης λύσης και το αποσυμπιέζουν.
Ο προγραμματιστής A θα πρέπει να ελέγξει ένα αρχείο για την κύρια φόρμα Επαφή και ένα αρχείο για την προβολή "Ενεργές επαφές".
Ο προγραμματιστής Β θα πρέπει να εξάγει ένα αρχείο για την κύρια φόρμα Λογαριασμός και ένα αρχείο για την "Προβολή αναζήτησης επαφών".
Και οι δύο προγραμματιστές μπορούν να κάνουν υποβολή, με οποιαδήποτε σειρά, καθώς οι αντίστοιχες αλλαγές τους επέρχονται σε ξεχωριστά αρχεία.
Αφού ολοκληρωθούν και οι δύο υποβολές, μπορούν να επαναλάβουν το βήμα #2 και, στη συνέχεια, να συνεχίσουν να κάνουν περαιτέρω αλλαγές στους ανεξάρτητους οργανισμούς τους. Κάθε ένας από αυτούς έχει και τα δύο σύνολα αλλαγών, χωρίς να αντικαθιστώνται οι δικές τους εργασίες.
Το προηγούμενο παράδειγμα λειτουργεί μόνο όταν υπάρχουν αλλαγές σε ξεχωριστά αρχεία. Είναι αναπόφευκτο οι ανεξάρτητες προσαρμογές να απαιτήσουν αλλαγές μέσα στο ίδιο αρχείο. Με βάση το παράδειγμα που εμφανιζόταν προηγουμένως, θεωρήστε ότι ο προγραμματιστής B προσάρμοσε την προβολή "Ενεργές επαφές", ενώ ο προγραμματιστής Α την προσάρμοζε επίσης. Σε αυτό το νέο παράδειγμα, γίνεται σημαντική η σειρά των συμβάντων. Η σωστή διαδικασία για να αποφευχθεί αυτή η κατάσταση, στην αναλυτική της έκφραση, έχει ως εξής.
Οι προγραμματιστές Α και Β εργάζονται και οι δύο στην ίδια λύση.
Σε ανεξάρτητους υπολογιστές, λαμβάνουν και οι δύο τις πιο πρόσφατες εκδόσεις της λύσης από τον έλεγχο εκδόσεων, πακετάρουν και εισάγουν ένα αρχείο .zip μη διαχειριζόμενης λύσης σε ανεξάρτητους οργανισμούς.
Ο προγραμματιστής A προσαρμόζει την προβολή συστήματος "Ενεργές επαφές" και την κύρια φόρμα για τον πίνακα Επαφή.
Ο προγραμματιστής Β προσαρμόζει την κύρια φόρμα για τον πίνακα Λογαριασμός και αλλάζει τις "Ενεργές επαφές".
Και οι δύο προγραμματιστές εξάγουν ένα αρχείο. zip μη διαχειριζόμενης λύσης και το αποσυμπιέζουν.
Ο προγραμματιστής A θα πρέπει να ελέγξει ένα αρχείο για την κύρια φόρμα Επαφή και ένα αρχείο για την προβολή "Ενεργές επαφές".
Ο προγραμματιστής Β θα πρέπει να ελέγξει ένα αρχείο για την κύρια φόρμα Λογαριασμός και ένα αρχείο για την προβολή "Ενεργές επαφές".
Ο προγραμματιστής Α είναι πρώτος έτοιμος.
Πριν ο προγραμματιστής Α υποβάλλει στον έλεγχο προέλευσης, θα πρέπει να λάβει τις πιο πρόσφατες πηγές για να διασφαλιστεί ότι δεν υπάρχουν διενέξεις προηγούμενων εισαγωγών με τις αλλαγές του.
Δεν υπάρχουν διενέξεις, έτσι ο προγραμματιστής Α μπορεί να κάνει υποβολή.
Ο προγραμματιστής Β είναι ο επόμενος έτοιμος μετά τον προγραμματιστή Α.
Πριν υποβάλλει τις αλλαγές του ο προγραμματιστής Β, θα πρέπει να αποκτήσει τις πιο πρόσφατες πηγές, ώστε να διασφαλίσει ότι δεν υπάρχουν διενέξεις με τις προηγούμενες εισαγωγές.
Υπάρχει διένεξη καθώς το αρχείο για τις "Ενεργές επαφές" έχει τροποποιηθεί από την τελευταία φορά που ο "προγραμματιστής B" ανέκτησε τις τελευταίες πηγές.
Ο προγραμματιστής Β πρέπει να επιλύσει τη διένεξη. Είναι πιθανό οι δυνατότητες του συστήματος ελέγχου προέλευσης που χρησιμοποιούνται να μπορούν να συνδράμουν σε αυτήν τη διεργασία. διαφορετικά, οι παρακάτω επιλογές είναι όλες βιώσιμες.
Ο προγραμματιστής Β, μέσω του ιστορικού ελέγχου προέλευσης, εάν είναι διαθέσιμο, μπορεί να δει ότι ο προγραμματιστής Α πραγματοποίησε την προγενέστερη αλλαγή. Μέσω άμεσης επικοινωνίας μπορούν να συζητήσουν κάθε αλλαγή. Στη συνέχεια, ο προγραμματιστής Β πρέπει μόνο να ενημερώσει τον οργανισμό με τη συμφωνημένη επίλυση. Στη συνέχεια, ο προγραμματιστής Β εξάγει, αποσυμπιέζει και αντικαθιστά το αρχείο που βρίσκεται σε διένεξη και κάνει υποβολή.
Να επιτρέπεται στο στοιχείο ελέγχου προέλευσης να αντικαθιστά το τοπικό αρχείο. Ο προγραμματιστής Β συμπιέζει τη λύση και την εισαγάγει στον οργανισμό του και, στη συνέχεια, αξιολογεί την κατάσταση της προβολής και την προσαρμόζει εκ νέου ανάλογα με τις ανάγκες. Στη συνέχεια, ο προγραμματιστής Β μπορεί να εξαγάγει, να αποσυμπιέσει και να αντικαταστήσει το αρχείο που βρίσκεται σε διένεξη.
Εάν η προγενέστερη αλλαγή μπορεί να κριθεί περιττή, ο προγραμματιστής Β επιτρέπει στο δικό του αντίγραφό του αρχείου να αντικαταστήσει την έκδοση στον έλεγχο προέλευσης και να υποβάλλει.
Είτε εργάζεται σε έναν κοινόχρηστο περιβάλλον είτε σε ανεξάρτητο περιβάλλον, η ανάπτυξη των λύσεων από την ομάδα λύσεων Dataverse απαιτεί όσοι εργάζονται ενεργά σε μια κοινή λύση να γνωρίζουν την εργασία των άλλων. Το εργαλείο Solution Packager δεν καταργεί πλήρως αυτήν την ανάγκη, αλλά επιτρέπει την εύκολη συγχώνευση μη αντικρουόμενων αλλαγών στο επίπεδο ελέγχου προέλευσης και επισημαίνει προληπτικά τα συνοπτικά στοιχεία όπου έχουν προκύψει διενέξεις.
Οι επόμενες ενότητες είναι οι γενικές διεργασίες για την αποτελεσματική χρήση του εργαλείου Solution Packager στον έλεγχο προέλευσης κατά την ανάπτυξη με ομάδες. Αυτές οι εργασίες λειτουργούν με τον ίδιο τρόπο σε ανεξάρτητα περιβάλλοντα ή περιβάλλοντα κοινής ανάπτυξης, αν και με κοινόχρηστα περιβάλλοντα η εξαγωγή και αποσυμπίεση θα περιλαμβάνει φυσικά όλες τις αλλαγές που υπάρχουν εντός της λύσης και όχι μόνο αυτές που πραγματοποιούνται από τον προγραμματιστή που εκτελεί την εξαγωγή. Ομοίως, κατά την εισαγωγή ενός αρχείου λύσης. zip θα προκύψει η φυσική συμπεριφορά για την αντικατάσταση όλων των στοιχείων.
Δημιουργία μιας λύσης
Η παρακάτω διαδικασία προσδιορίζει τα τυπικά βήματα που χρησιμοποιήθηκαν κατά την πρώτη δημιουργία μιας λύσης.
Σε ένα καθαρό περιβάλλον, δημιουργήστε μια λύση στο διακομιστή Dataverse και, στη συνέχεια, προσθέστε ή δημιουργήστε στοιχεία, ανάλογα με τις ανάγκες.
Όταν είστε έτοιμοι να κάνετε check-in, ακολουθήστε αυτά τα βήματα.
Εξαγάγετε τη μη διαχειριζόμενη λύση.
Χρησιμοποιώντας το εργαλείο Solution Packager, εξαγάγετε τη λύση σε αρχεία στοιχείων.
Από αυτά τα αρχεία στοιχείων που έχουν εξαχθεί, προσθέστε τα απαραίτητα αρχεία στον έλεγχο προέλευσης.
Υποβάλετε αυτές τις αλλαγές στον έλεγχο προέλευσης.
Τροποποιήστε μια λύση
Η παρακάτω διαδικασία προσδιορίζει τα τυπικά βήματα που χρησιμοποιήθηκαν κατά την τροποποίηση μιας υφιστάμενης λύσης.
Συγχρονίστε ή αποκτήστε τις πιο πρόσφατες προελεύσεις αρχείων στοιχείων λύσης.
Χρησιμοποιώντας το εργαλείο Solution Packager, συμπιέστε τα αρχεία στοιχείων σε ένα αρχείο .zip μη διαχειριζόμενης λύσης.
Εισαγάγετε το αρχείο μη διαχειριζόμενης λύσης σε ένα περιβάλλον.
Προσαρμόστε και επεξεργαστείτε τη λύση όπου είναι απαραίτητο.
Όταν είστε έτοιμοι να ελέγξετε τις αλλαγές στο στοιχείο ελέγχου προέλευσης, κάντε τα εξής.
Εξαγάγετε τη μη διαχειριζόμενη λύση.
Χρησιμοποιώντας το εργαλείο Solution Packager, αποσυμπιέστε την εξαγόμενη λύση σε αρχεία στοιχείων.
Συγχρονίστε ή αποκτήστε τις πιο πρόσφατες πηγές από τη διαχείριση πηγαίου κώδικα.
Εάν υπάρχουν διενέξεις, επιλύστε τις.
Υποβάλετε τις αλλαγές στον έλεγχο προέλευσης.
Τα βήματα 2 και 3 πρέπει να εκτελεστούν προτού προκύψουν περαιτέρω προσαρμογές στον οργανισμό ανάπτυξης. Στο βήμα 5, το βήμα b πρέπει να ολοκληρωθεί πριν από το βήμα c.
Δείτε επίσης
Αναφορά αρχείου στοιχείου λύσης (SolutionPackager)
Εργαλείο SolutionPackager
Μορφές αρχείου ελέγχου προέλευσης