svn tutorial source code management using subversion
Εισαγωγή στη διαχείριση του πηγαίου κώδικα χρησιμοποιώντας το Subversion (SVN):
Καλώς ορίσατε στη σειρά Subversion (SVN). Αυτός ο ενημερωτικός οδηγός SVN εξηγεί τα βασικά στοιχεία της έννοιας εκδόσεων λογισμικού και πώς το SVN μπορεί να είναι χρήσιμο για την ομάδα ανάπτυξης.
Τι είναι το SVN;
Το SVN είναι ένα απλό και ανοιχτού κώδικα λογισμικό διαχείρισης διαμόρφωσης λογισμικού (SCM) που μπορεί να χρησιμοποιηθεί σε όλες τις φάσεις των έργων λογισμικού.
- Το SVN είναι ένα εργαλείο ελέγχου Subversion που μας βοηθά να διατηρούμε όλα τα αντικείμενα του έργου σε ένα αποθετήριο σεναρίων.
- Είναι ένα εργαλείο δωρεάν / ανοιχτού κώδικα που μας βοηθά να διαχειριζόμαστε το σύστημα ελέγχου εκδόσεων λογισμικού και αναθεώρησης.
- Είναι εύκολο να κατανοηθεί και λειτουργεί πιο γρήγορα σε σύγκριση με τα άλλα εργαλεία ( Για παράδειγμα, GIT, υδράργυρο).
Διαβάστε αυτό το πρώτο σεμινάριο της σειράς σχετικά με τα βασικά στοιχεία του Ανατροπή προσεκτικά πριν προχωρήσετε στην επόμενη.
Λίστα εκπαιδευτικών σε αυτήν τη σειρά ανατροπής:
Εκμάθηση # 1: Εκπαιδευτικό πρόγραμμα SVN: Διαχείριση πηγαίου κώδικα χρησιμοποιώντας ανατροπή
Εκμάθηση # 2: Πώς να ρυθμίσετε το αποθετήριο SVN και να εγκαταστήσετε τον πελάτη Tortoise SVN
Εκμάθηση # 3: Tutorial Tortoise SVN: Αναθεωρήσεις στο αποθετήριο κώδικα
Εκμάθηση # 4: Πώς να διαγράψετε περιεχόμενο από το αποθετήριο SVN
Επισκόπηση των μαθημάτων σε σειρές μετατροπής:
Αριθμός μαθημάτων | Τι θα μάθετε |
---|---|
Εκμάθηση_ # 1: | Εκπαιδευτικό πρόγραμμα SVN: Διαχείριση πηγαίου κώδικα χρησιμοποιώντας ανατροπή Αυτός ο ενημερωτικός οδηγός SVN θα εξηγήσει τα βασικά της έννοιας εκδόσεων λογισμικού και πώς το SVN μπορεί να είναι χρήσιμο για ολόκληρη την ομάδα. |
Εκμάθηση_ # 2: | Πώς να ρυθμίσετε το αποθετήριο SVN και να εγκαταστήσετε τον πελάτη Tortoise SVN Θα μάθετε πώς να ρυθμίσετε ένα δωρεάν αποθετήριο διακομιστή και ένα δωρεάν περιβάλλον εργασίας χρήστη Tortoise SVN για εισαγωγή και εξαγωγή κώδικα από / προς το αποθετήριο από αυτό το σεμινάριο. |
Εκμάθηση_ # 3: | Tutorial Tortoise SVN: Αναθεωρήσεις στο αποθετήριο κώδικα Αυτό το σεμινάριο θα σας ενημερώσει σχετικά με τον τρόπο χρήσης του προγράμματος-πελάτη Tortoise SVN για το check-out και το check-in του κώδικα από / προς το αποθετήριο με απλά πρακτικά παραδείγματα για την εύκολη κατανόησή σας. |
Εκμάθηση_ # 4: | Πώς να διαγράψετε περιεχόμενο από το αποθετήριο SVN Αυτό το σεμινάριο SVN θα σας διδάξει πώς να αφαιρέσετε το περιεχόμενο κώδικα από το αποθετήριο. Το SVN σάς βοηθά να εκδώσετε το έργο σας. |
Τι θα μάθετε:
Βασικές ορολογίες
Προτού αναφερθούμε στις λεπτομέρειες, ας κατανοήσουμε τις βασικές ορολογίες που θα χρησιμοποιήσουμε σε αυτό το σεμινάριο.
Αποθήκη: Είναι ένα κεντρικό μέρος ή αποθετήριο όπου αποθηκεύονται όλα τα αντικείμενα του έργου μας (Σχεδιασμός, Πηγαίος κώδικας, Τεκμηρίωση, δοκιμαστικές θήκες). Οι μεμονωμένοι χρήστες μπορούν να ελέγξουν τοπικά τα αρχεία στον τοπικό υπολογιστή τους και να εργαστούν σε αυτό.
Καθώς διατηρεί όλες τις πληροφορίες ιστορικού του συγκεκριμένου τεχνουργήματος, οι χρήστες μπορούν να επιστρέψουν και να κοιτάξουν στο αρχείο καταγραφής για να δουν το 'Who & When & Why' έχει αλλάξει.
Ταμείο SVN: Είναι μια διαδικασία μεταφοράς των έργων από το κεντρικό αποθετήριο στο τοπικό μηχάνημα. Οι χρήστες μπορούν να κάνουν τροποποιήσεις και να αποθηκεύσουν τις αλλαγές τοπικά.
Διαπράττω: Είναι μια διαδικασία αποθήκευσης των αλλαγών από τοπικά μηχανήματα στο κεντρικό αποθετήριο. Κατά τη διάρκεια της δέσμευσης, θα πρέπει να παρέχουμε ουσιαστικά μηνύματα δεσμεύσεων, ώστε οι άλλοι χρήστες να μπορούν εύκολα να κατανοήσουν.
Τώρα καταλάβαμε τις βασικές ορολογίες του SVN. Θα δούμε ένα παράδειγμα για το πώς λειτουργεί στην καθημερινή επιχείρηση.
Ροή εργασίας SVN
Εξετάστε ένα σενάριο, όπου ο επικεφαλής της ομάδας έχει δημιουργήσει ένα σκελετό Framework που περιέχει σενάρια αυτοματισμού. Τώρα, προσπαθεί να το ανεβάσει σε μια κεντρική τοποθεσία που ονομάζεται 'Automation Script Repository'.
Τα μέλη της ομάδας είναι έτοιμα να ελέγξουν τα σενάρια σκελετού αυτοματισμού από το αποθετήριο στα τοπικά τους μηχανήματα. Μόλις τελειώσουν με τις αλλαγές σεναρίων, μπορούν να επιστρέψουν και να το δεσμεύσουν στο κεντρικό αποθετήριο.
Λήψη SVN
Βήμα 1: Επισκεφτείτε τον ιστότοπο της Google και πληκτρολογήστε 'Λήψη SVN'.
Βήμα 2: Κάντε κλικ στον σύνδεσμο «Λήψη Tortoise SVN» από τον ιστότοπο, Χελώνα SVN
Βήμα # 3: Επιλέξτε το σύνδεσμο, Tortoise SVN 1,9,6 - 64 bit / 32 bit ανάλογα με το λειτουργικό σύστημα που έχετε στο σύστημά σας.
Βήμα # 4: Κάνοντας κλικ στον αντίστοιχο σύνδεσμο, ξεκινά η λήψη και λαμβάνουμε το αρχείο ρύθμισης .msi στο κάτω μέρος της οθόνης μας.
Βήμα # 5: Κάντε κλικ στο αρχείο .msi και εκτελέστε τον οδηγό εγκατάστασης κάνοντας κλικ στο κουμπί Επόμενο.
Η εγκατάσταση Tortoise SVN πραγματοποιείται με επιτυχία χωρίς σφάλματα.
Plugin To Work Tortoise SVN μέσω Java Eclipse
Για να υποστηρίξουμε την Ανατροπή μας στο Eclipse IDE, θα πρέπει να εγκαταστήσουμε την προσθήκη που ονομάζεται πάροχος Eclipse Team ή Subclipse Plugin.
Βήμα 1: μεταβείτε στο Βοήθεια μενού από το Περιβάλλον Eclipse IDE και κάντε κλικ στο «Eclipse Marketplace» .
Βήμα 2: Τύπος Subclipse στο πλαίσιο Εύρεση κειμένου και κάντε κλικ στο Κουμπί Go .
Επιλέξτε τον πρώτο σύνδεσμο, Subclipse 4.2.3 και μετά κάντε κλικ στο Εγκαθιστώ κουμπί.
Βήμα # 3: Θα εμφανιστεί ένα πλαίσιο διαλόγου όπως φαίνεται παρακάτω. Κάντε κλικ στο Επιβεβαιώνω για να συνεχίσετε με τη διαδικασία εγκατάστασης.
Βήμα # 4: Αποδεχτείτε την άδεια χρήσης λογισμικού Subclipse και κάντε κλικ στο Φινίρισμα κουμπί.
Το Subclipse Plugin προστίθεται με επιτυχία στο Eclipse IDE.
Δημιουργία πλαισίου σε Java Eclipse
Δημιουργείται ένα δείγμα πλαισίου που ονομάζεται 'Hybrid_Framework' χρησιμοποιώντας το πρότυπο σχεδίασης Java Object Model (POM). Δημιουργείται ένα έργο Maven με όλους τους πηγαίους κωδικούς γραμμένους στο φάκελο src / test / java.
Δύο πακέτα με τα ονόματά τους com.qspiders.Pages και com.qspiders. Δημιουργούνται δοκιμές.
Εδώ προσπαθούμε να εκτελέσουμε τη λειτουργία σύνδεσης. Μόλις η σύνδεση είναι επιτυχής, μεταβαίνει σε μια άλλη σελίδα που ονομάζεται «EnterTimeTrack» .
- Όλες οι ενέργειες και οι επαληθεύσεις εκτελούνται κάτω από το com.qspiders.Pages πακέτο.
- Η δημιουργία αντικειμένου αυτής της συγκεκριμένης σελίδας και εκτέλεσης σεναρίου εκτελείται κάτω από το com.qspiders.Tests πακέτο
Δημιουργία αποθετηρίου
Βήμα 1: Για δημιουργία αποθετηρίου, μεταβείτε στο φάκελο όπου αποθηκεύεται το έργο και Κάντε δεξί κλικ στο Tortoise SVN και επιλέξτε «Δημιουργία αποθετηρίου εδώ» επιλογή.
ο καλύτερος καθαριστής μητρώου για τα Windows 7 64 bit
Βήμα 2: Η δημιουργία αποθετηρίου γίνεται με επιτυχία στην καθορισμένη διαδρομή.
Βήμα # 3: Μπορούμε να δούμε την αλλαγή του εικονιδίου στη δημιουργία πλαισίου (POM_Framework).
Σπρώχνοντας το πλαίσιο στο αποθετήριο
Βήμα 1: Κάντε δεξί κλικ στο Project και επιλέξτε Ομάδα -> Κοινή χρήση έργου .
Βήμα 2: Επιλέγω SVN και κάντε κλικ στο Επόμενο.
Βήμα # 3: Επιλέγω «Δημιουργία νέας τοποθεσίας αποθετηρίου» και κάντε κλικ στο Επόμενο.
Βήμα # 4: Δώστε τη διεύθυνση URL που έχετε δώσει για τη δημιουργία αποθετηρίου και κάντε κλικ στο Φινίρισμα κουμπί.
Βήμα # 5: Προσθέσαμε με επιτυχία το πλαίσιο μας στο φάκελο αποθετηρίου.
Ταμείο SVN
Προσπαθούμε να ελέγξουμε τον φάκελο έργου POM_Framework ακολουθώντας τα παρακάτω βήματα.
Βήμα 1: Κάντε δεξί κλικ έξω από τη διαδρομή του φακέλου και επιλέξτε Ταμείο SVN .
Βήμα 2: Επιλέξτε τη διαδρομή αποθετηρίου και κάντε κλικ στο OK.
Βήμα # 3: Ο φάκελος του έργου ελέγχεται επιτυχώς στην αναφερόμενη διαδρομή και ορίζει αυτόματα τον αριθμό αναθεώρησης.
Διαπράττω :Το παρακάτω κομμάτι κώδικα έχει προστεθεί στο αρχείο LoginTests.java και προσπαθούμε να το δεσμεύσουμε στο αποθετήριο.
Πηγαίος κώδικας:
Package com.qspider.Tests; Public class LoginTests { Public static void main(String args()) { WebDriver driver = new FirefoxDriver(); driver.get('file:///E:/Uma/Selenium%20Programs/mypage.html'); WebElement txtFirstName = driver.findElement(By.id('txtfirstname')); txtFirstName.sendKeys('Uma'); WebElement txtLastName = driver.findElement(By.name('txtLastname')); txtLastName.sendKeys('Srinivasan'); WebElement txtPassword = driver.findElement(By.className('pi')); txtPassword.sendKeys('UmaPassword'); driver.findElement(By.tagName('a')).click(); driver.navigate().back() } }
Βήμα 1: Κάντε δεξί κλικ στο έργο και επιλέξτε Ομάδα -> Δέσμευση .
Βήμα # 3: Τώρα το αρχείο / φάκελος κάνει check in με επιτυχία στο αποθετήριο.
Γιατί χρειάζεστε SVN;
Ας υποθέσουμε ότι είστε στη διαδικασία ανάπτυξης ενός έργου αυτοματισμού Selenium. Ας πούμε ότι υπάρχουν τρία μέλη της ομάδας που εργάζονται σε αυτό το έργο: Tester A, Tester B, Tester C.
γεννήτρια τυχαίων αριθμών μεταξύ 0 και 1
Ας υποθέσουμε, ότι υπάρχουν 15 σενάρια δοκιμής αυτοματισμού που πρέπει να γραφτούν. Έτσι, αυτοί οι τρεις συμπαίκτες αποφασίζουν να χωρίσουν πέντε σενάρια το καθένα μεταξύ τους και να αρχίσουν να αυτοματοποιούν. Τώρα, στο τέλος, όλοι θα συγχωνεύσουν τον κωδικό τους και ο τελικός κώδικας θα κατασκευαστεί. Το μπλε κυκλικό σχήμα στα παρακάτω σχήματα αντιπροσωπεύει τον τελικό συγχωνευμένο κωδικό.
Εάν ο «Tester A» αποφασίσει να κάνει κάποια διόρθωση στο κομμάτι του κώδικα, τότε θα πρέπει να εισάγει ολόκληρο τον συγχωνευμένο κώδικα στον τοπικό χώρο εργασίας του, ώστε να μπορεί να τον διορθώσει όπως φαίνεται στο παρακάτω σχήμα. Χώρος εργασίας σημαίνει ένα απλό έργο Selenium.
Ομοίως, ο «Tester B» θα πρέπει επίσης να εισάγει ολόκληρο τον κώδικα στον χώρο εργασίας του εάν θέλει να κάνει οποιεσδήποτε αλλαγές στις δοκιμαστικές του περιπτώσεις.
Αλλά το πρόβλημα που θα προκύψει είναι ότι ο καθένας θα έχει τώρα μια διαφορετική έκδοση του χώρου εργασίας. Οι αλλαγές που έχει κάνει ο «Tester A» στο χώρο εργασίας του, δεν θα υπάρχουν στον χώρο εργασίας που έχει ο «Tester B» όπως φαίνεται παρακάτω. Δεν θα υπάρξει συγχρονισμός των χώρων εργασίας μεταξύ των μελών της ομάδας.
Εάν ένα νέο μέλος της ομάδας ενταχθεί και θέλει να δημιουργήσει τον τοπικό του χώρο εργασίας, τότε θα υπάρξει σύγκρουση σχετικά με το ποιος Tester πρέπει να του δώσει τον χώρο εργασίας του; Έτσι, θα υπάρξει σύγχυση. Εδώ, μιλάμε για τρεις δοκιμαστές, τι γίνεται αν εργάζεστε σε ένα μεγάλο έργο αυτοματισμού που αποτελείται από πολλούς δοκιμαστές;
Ως εκ τούτου, για την επίλυση αυτών των ζητημάτων συγχρονισμού κώδικα και για να διασφαλίσουμε ότι όλοι στην ομάδα βρίσκονται στην ίδια σελίδα, χρησιμοποιούμε το Subversion SVN.
Υπάρχουν πολλά άλλα εργαλεία στην αγορά που βοηθούν στη διαχείριση του πηγαίου κώδικα. Λίγα είναι δωρεάν (ανοιχτού κώδικα) όπως CVS (Σύστημα ταυτόχρονης έκδοσης), RCS (Σύστημα ελέγχου αναθεώρησης), Git. Ενώ μερικά έχουν άδεια όπως το Rational ClearCase.
Τι είναι το αποθετήριο SVN και τι κάνει;
Το αποθετήριο SVN παρέχει ένα σύστημα διαχείρισης μέσω του οποίου μπορείτε να ελέγχετε τις εκδόσεις του έργου ή / και του λογισμικού σας.
Επομένως, πρέπει να έχετε ένα κεντρικό αποθετήριο διακομιστή (ο διακομιστής μπορεί να είναι Windows, Unix, Linux, κλπ). Θα βάλουμε τον τελικό συγχωνευμένο κώδικα σε αυτόν τον διακομιστή.
Ας υποθέσουμε τώρα ότι το «Tester A» ελέγχει τον κωδικό από τον κεντρικό διακομιστή που είναι γνωστός ως αποθετήριο. Αφού έκανε τις επιθυμητές αλλαγές στον κώδικά του, κάνει check-in στον ενημερωμένο κώδικα στο αποθετήριο. Τώρα το 'Tester B', όταν ελέγχει τον κωδικό, λαμβάνει τον πιο πρόσφατο κωδικό από το αποθετήριο.
Ομοίως, όλοι κάνουν τις αντίστοιχες αλλαγές τους και στη συνέχεια ενημερώνουν (check-in) τον κωδικό στο αποθετήριο.
Έτσι όλοι είναι συγχρονισμένοι και βρίσκονται στην ίδια σελίδα.
συμπέρασμα
Αυτό το σεμινάριο μας βοήθησε να κατανοήσουμε τις βασικές έννοιες του SVN. Ξεκινήσαμε με τις βασικές ορολογίες του SVN και μετά μετακινήσαμε στην Εγκατάσταση, Διαμόρφωση προσθηκών, σχεδίαση πλαισίου και δημιουργία αποθετηρίου. Έχουμε επίσης δει τι είναι ένα αποθετήριο και τι κάνει.
Τέλος, μάθαμε πώς να ωθήσουμε το πλαίσιο στο αποθετήριο και την ολοκλήρωση της ολοκλήρωσης του αρχείου και να δεσμευτούμε.
Στο επερχόμενο σεμινάριο, θα δούμε πώς να δημιουργήσουμε ένα δικό μας δωρεάν αποθετήριο.
Συνιστώμενη ανάγνωση
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- Tutorial Tortoise SVN: Αναθεωρήσεις στο αποθετήριο κώδικα
- Εκμάθηση ενοποίησης JIRA και SVN
- Πώς να ρυθμίσετε το αποθετήριο SVN και να εγκαταστήσετε τον πελάτη Tortoise SVN
- Tutorial Bugzilla: Εργαλείο Διαχείρισης Ατελειών
- Πώς να διαγράψετε περιεχόμενο από το αποθετήριο SVN
- AWS CodeBuild Tutorial: Εξαγωγή κώδικα από το Maven Build
- Εκπαιδευτικό πρόγραμμα μετανάστευσης SVN to IBM Rational Team