Προγραμματισμός

GitHub εναντίον Bitbucket εναντίον GitLab: Μια επική μάχη για το μυαλό των προγραμματιστών

Είναι το είδος της μετα-αντίληψης που κάνει τους προπτυχιακούς φιλοσόφους να λένε, "Ουάου!" Το λογισμικό σήμερα είναι τόσο περίπλοκο που πρέπει να γράψουμε λογισμικό για να μας βοηθήσει να κατανοήσουμε και να κατασκευάσουμε το λογισμικό που χρειαζόμαστε να γράψουμε. Ο κώδικας δημιουργεί κώδικα λαμβάνει περισσότερο κώδικα…

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

Υπάρχουν τρεις μεγάλοι διεκδικητές τώρα για το καλύτερο μέρος για να αποθηκεύσετε τις κανονικές σας εκφράσεις, τις ανώνυμες λειτουργίες και τις έντονες επαναλαμβανόμενες αναλαμπές της περιπέτειας: GitHub, Bitbucket και GitLab Όλοι ανταγωνίζονται για να είναι το καλύτερο μέρος για να αποθηκεύσετε την πηγή σας.

Είναι το ένα καλύτερο από το άλλο; Είναι ένα από τα καλύτερα μέρη για την ομάδα σας να κόβει φοβερό άθλιο; Ας τα βάλουμε εναντίον του άλλου και ας δούμε ποιος κυβερνά.

Το GitHub είναι το μεγαλύτερο

Ίσως επειδή ήταν ο πρώτος μεγάλος ιστότοπος που ειδικεύτηκε στη φιλοξενία αποθετηρίων Git. Ίσως οφείλεται στα καλά έργα του στην κοινότητα ανοιχτού κώδικα. Σε κάθε περίπτωση, το GitHub προηγείται εάν χρησιμοποιείτε τη μέτρηση του καθαρού αναφερόμενου όγκου κώδικα. Το GitHub αξιώνει 28 εκατομμύρια χρήστες και 85 εκατομμύρια αποθετήρια. Το Bitbucket αναφέρει έξι εκατομμύρια χρήστες και το GitLab είναι ένα μυστήριο που δεν απάντησε στην ερώτηση.

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

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

Το Bitbucket και το GitLab είναι φθηνότερα

Και οι τρεις από τις υπηρεσίες προσφέρουν πολλές δωρεάν επιλογές, αλλά όλες βγάζουν τα χρήματά τους χρεώνοντας προγραμματιστές, συνήθως επαγγελματίες, για τη φιλοξενία ιδιωτικών έργων. Το GitHub ξεκινά από 7 $ ανά μήνα ανά προγραμματιστή. Το Bitbucket ξεκινά από 2 $ ανά μήνα και το GitLab ξεκινά από 4 $ ανά μήνα.

Αλλά αυτοί οι αριθμοί είναι απλοί οδηγοί, επειδή υπάρχει μια καλή πιθανότητα να θέλετε να αναβαθμίσετε. Μια καλύτερη βαθμίδα στο Bitbucket κοστίζει 5 $ το μήνα. Το GitLab διαθέτει μια premium έκδοση που κοστίζει 19 $ ανά μήνα και πρέπει να πληρώνετε ετησίως για να λάβετε αυτήν την τιμή.

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

Το Bitbucket και το GitLab επιτρέπουν απεριόριστα ιδιωτικά αποθετήρια

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

Αυτά τα δωρεάν επίπεδα μπορούν να είναι αρκετά γενναιόδωρα. Το Bitbucket επιτρέπει μικρές ομάδες έως και πέντε συνεργατών. Το GitLab επιτρέπει απεριόριστους συνεργάτες.

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

Τα Bitbucket και GitLab έχουν συνεχή ενοποίηση

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

Ομοίως, το Bitbucket προσφέρει Pipelines, ένα παρόμοιο εργαλείο κατασκευής και ανάπτυξης που κάνει το ίδιο πράγμα με λίγα κλικ. Ίσως δεν προσφέρει τόσο μεγάλη παρακολούθηση, αλλά ενσωματώνεται στενά με το cloud του Amazon.

Το GitHub σάς επιτρέπει να χρησιμοποιείτε τον δικό σας διακομιστή συνεχούς ενοποίησης

Δημιουργούν ποτέ οι χρήστες του GitHub τον κωδικό τους; Φυσικά. Πολλοί χρησιμοποιούν εργαλεία τρίτων όπως το CircleCI ή το Travis CI που ενεργοποιούνται από δεσμεύσεις στο GitHub. Μερικοί φιλοξενούν ακόμη και τη δική τους έκδοση του Jenkins, η οποία είναι διαθέσιμη από ένα αποθετήριο ανοιχτού κώδικα που φιλοξενείται στο GitHub.

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

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

Το GitLab σάς επιτρέπει να αναπτύξετε διαδικτυακά

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

Τόσο το GitHub όσο και το Bitbucket έχουν απλούστερες εκδόσεις που σας επιτρέπουν να επεξεργαστείτε τα αρχεία σας στο διαδίκτυο και στη συνέχεια να επιτύχετε το αποτέλεσμα. Είναι καλύτερα για γρήγορες επαφές και διορθώσεις.

Το Bitbucket έχει αναζήτηση γνώσης κώδικα

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

Το Bitbucket προέρχεται από την ίδια εταιρεία που κατασκευάζει τη Jira

Η Jira είναι ένα από τα κορυφαία εργαλεία για την οργάνωση της διαδικασίας ανάπτυξης, παρακολουθώντας εισιτήρια και ενημερώνοντας τις ομάδες για το ποιος κάνει τι σε ποιο αποθετήριο και όταν το τελειώσει. Η Jira μπορεί να ενσωματωθεί σε όλα, αλλά ανήκει στην Atlassian, η οποία διασφαλίζει ότι η Jira λειτουργεί καλά με το Bitbucket.

Τόσο το GitHub όσο και το GitLab έχουν τα δικά τους εργαλεία παρακολούθησης ζητημάτων ενσωματωμένα στη ροή εργασίας που κάνουν σχεδόν το ίδιο πράγμα. Για περισσότερες καμπάνες και σφυρίχτρες, οι χρήστες του GitHub και του GitLab μπορούν να στραφούν στο Jira ή σε οποιοδήποτε από τα παρόμοια εργαλεία.

Το GitLab είναι ανοιχτού κώδικα

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

Υπάρχουν και πολλά άλλα έργα διακομιστή ανοιχτού κώδικα Git, όπως το Gitblit, γραμμένο σε Java, Allura, γραμμένο σε Python και Gogs, γραμμένο στο Go. Αλλά θα πρέπει να τους φιλοξενήσετε όλους.

Το GitLab είναι καλά ενσωματωμένο στο Google Cloud

Δεν χρειάζεται να χρησιμοποιείτε το Google Cloud με το GitLab. Το GitLab το καθιστά λίγο πιο εύκολο με την ενσωμάτωση στο Google Kubernetes Engine. Με λίγα μόνο κλικ μετακινείτε τον κώδικά σας σε ένα σύμπλεγμα κοντέινερ. Ακόμα κι αν δεν χρησιμοποιείτε το Google Kubernetes Engine, το GitHub εξακολουθεί να του αρέσει να συνεργάζεται με το Kubernetes. Εάν αναπτύξετε σε ένα σύμπλεγμα Kubernetes, μπορείτε να παρακολουθήσετε τα πάντα - περιβάλλοντα CI, αναπτύξεις, pods και μετρήσεις Kubernetes - απευθείας από το GitLab.

Το Bitbucket ενσωματώνεται στο AWS

Και πάλι, μπορείτε πάντα να αναπτύξετε τον κωδικό σας όπου θέλετε, αλλά ένα πρόσθετο Bitbucket στο Atlassian Marketplace θα ωθήσει τον κώδικά σας σε έναν κάδο Amazon S3 και θα χρησιμοποιήσετε το AWS CodeDeploy για να τον εκτελέσετε στο EC2. Το μόνο που χρειάζεται να κάνετε είναι να το διαμορφώσετε μία φορά και να είναι έτοιμο.

Το Bitbucket έχει πολλές επεκτάσεις

Η εφαρμογή AWS CodeDeploy δεν είναι η μόνη επιλογή στο Atlassian marketplace. Από αυτό το γράψιμο, υπάρχουν 304 εφαρμογές που έχουν γραφτεί από τρίτους για την επέκταση του Bitbucket. Ορισμένοι προσθέτουν λειτουργίες όπως ειδοποιήσεις ή γραφήματα δεσμεύσεων και άλλοι βοηθούν στην οικοκυρική του έργου παρακολουθώντας τη ροή εργασίας. Εάν αισθάνεστε αυταρχικοί, ενδέχεται να εγκαταστήσετε την προσθήκη Πολιτικής δεσμεύσεων που ελέγχει τα μηνύματα δέσμευσης για να βεβαιωθείτε ότι αναφέρουν αριθμούς ζητημάτων και άλλες λεπτομέρειες. Εάν δεν βλέπετε αυτό που θέλετε στο Marketplace, μπορείτε να γράψετε το δικό σας.

Το Git (απλό) είναι δωρεάν και ιδιωτικό

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

Χρησιμοποιήστε δύο ή και τα τρία!

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

$config[zx-auto] not found$config[zx-overlay] not found