Έργα и σχετικά με την απόφαση δημιουργίας μιας υπηρεσίας συλλογικής ανάπτυξης Git Forge, η οποία θα κατασκευαστεί χρησιμοποιώντας την πλατφόρμα GitLab. Το GitLab θα είναι η κύρια πλατφόρμα για την αλληλεπίδραση με τα αποθετήρια Git και τη φιλοξενία έργων που σχετίζονται με διανομές CentOS και Fedora. Υπηρεσία που χρησιμοποιήθηκε στο παρελθόν θα συνεχίσει να υπάρχει, αλλά θα παραδοθεί στη φροντίδα μιας κοινότητας που ενδιαφέρεται για τη συνεχή ανάπτυξη. Το Pagere θα απομακρυνθεί από τη φροντίδα της ομάδας CPE (Community Platform Engineering) που απασχολεί η Red Hat, η οποία συντηρεί την υποδομή για την ανάπτυξη και δημοσίευση εκδόσεων Fedora και CentOS.
Κατά την αξιολόγηση πιθανών λύσεων για το νέο Git Forge, εξετάσαμε:
Pagure και Gitlab. Με βάση μια μελέτη του περίπου και αιτήματα από συμμετέχοντες στα έργα Fedora, CentOS, RHEL και CPE, διαμορφώθηκαν απαιτήσεις λειτουργικότητας και έγινε επιλογή υπέρ του Gitlab. Εκτός από τις τυπικές λειτουργίες με αποθετήρια (συγχώνευση, δημιουργία fork, προσθήκη κώδικα κ.λπ.), η ασφάλεια, η ευκολία χρήσης και η σταθερότητα της πλατφόρμας δηλώθηκαν μεταξύ των βασικών απαιτήσεων.
Οι απαιτήσεις περιελάμβαναν λειτουργίες όπως ώθηση HTTPS, περιορισμός πρόσβασης σε υποκαταστήματα, υποστήριξη ιδιωτικών υποκαταστημάτων, διαχωρισμός πρόσβασης εξωτερικού και εσωτερικού χρήστη (για παράδειγμα, εργασία για τη διόρθωση ευπαθειών κατά τη διάρκεια εμπάργκο αποκάλυψης πληροφοριών σχετικά με το πρόβλημα), εξοικείωση της διεπαφής, ενοποίηση υποσυστημάτων για εργασία με αναφορές προβλημάτων, κώδικας, τεκμηρίωση και σχεδιασμός νέων λειτουργιών, διαθεσιμότητα τυπικών εργαλείων υποστήριξης ροής εργασίας για IDE.
Μεταξύ των δυνατοτήτων του GitLab που τελικά επηρέασαν την απόφαση επιλογής αυτής της πλατφόρμας, αναφέρθηκαν τα ακόλουθα: υποστήριξη για υποομάδες με επιλεκτική πρόσβαση σε αποθετήρια, δυνατότητα χρήσης bot για αυτόματες συγχωνεύσεις (απαιτεί το CentOS Stream για τη διατήρηση των πακέτων πυρήνα), παρουσία ενσωματωμένων εργαλείων για προγραμματισμό, δυνατότητα χρήσης δωρεάν διαθεσιμότητας πόρων SAAS με εγγύηση για την ανάπτυξη υποδομή διακομιστή).
Η απόφαση έχει ήδη ληφθεί κριτική μεταξύ των προγραμματιστών ότι η απόφαση ελήφθη χωρίς προηγούμενη ευρεία συζήτηση. Υπήρχαν επίσης ανησυχίες ότι η υπηρεσία δεν θα χρησιμοποιούσε τη δωρεάν έκδοση Comminity του GitLab. Συγκεκριμένα, οι δυνατότητες που απαιτούνται για την υλοποίηση των απαιτήσεων του Git Forge που περιγράφονται στην ανακοίνωση είναι διαθέσιμες μόνο στην αποκλειστική έκδοση. .
Επικρίσεις ασκήθηκαν επίσης σχετικά με την πρόθεση χρήσης της υπηρεσίας SAAS (εφαρμογή ως υπηρεσία) που παρέχεται από το GitLab, αντί της ανάπτυξης του GitLab στους δικούς του διακομιστές, γεγονός που θέτει την υπηρεσία εκτός ελέγχου (για παράδειγμα, είναι αδύνατο να είμαστε βέβαιοι ότι όλα τα τρωτά σημεία στο σύστημα διορθώνονται άμεσα). η υποδομή υποστηρίζεται, κάποια στιγμή δεν θα είναι εξαιρείται η δολιοφθορά από προσωπικό τρίτης εταιρείας). Η λύση επίσης δεν ταιριάζει με , που ορίζουν ότι το έργο θα πρέπει να δίνει προτίμηση σε δωρεάν εναλλακτικές λύσεις.
Εν τω μεταξύ, το GitLab σχετικά με τις εφαρμογές ανοιχτού κώδικα 18 λειτουργικών δυνατοτήτων που προηγουμένως προσφέρονταν μόνο σε ιδιόκτητες εκδόσεις του GitLab. Οι δυνατότητες καλύπτουν διάφορους τομείς διαχείρισης του πλήρους κύκλου ανάπτυξης λογισμικού, συμπεριλαμβανομένου του προγραμματισμού ανάπτυξης, της δημιουργίας έργου, της επαλήθευσης, της συσκευασίας, της δημιουργίας κυκλοφορίας, της διαμόρφωσης και της ασφάλειας.
Οι παρακάτω λειτουργίες έχουν μεταφερθεί σε δωρεάν:
- Επισύναψη σχετικών θεμάτων.
- Πρόβλημα εξαγωγής από το GitLab σε CSV;
- Ένας τρόπος για τον προγραμματισμό, την οργάνωση και την απεικόνιση της διαδικασίας ανάπτυξης μεμονωμένων λειτουργιών ή εκδόσεων.
- Ενσωματωμένη υπηρεσία για τη σύνδεση των συμμετεχόντων στο έργο με τρίτα μέρη μέσω email.
- Τερματικό Ιστού για Web IDE.
- Δυνατότητα συγχρονισμού αρχείων για δοκιμή αλλαγών στον κώδικα στο τερματικό ιστού.
- Σχεδιάστε εργαλεία διαχείρισης που σας επιτρέπουν να ανεβάσετε μακέτες και στοιχεία σε ένα ζήτημα, χρησιμοποιώντας το ζήτημα ως ενιαίο σημείο πρόσβασης σε όλα όσα χρειάζονται για την ανάπτυξη μιας νέας δυνατότητας.
- Αναφορές ποιότητας κώδικα.
- Υποστήριξη για διαχειριστές πακέτων Conan (C/C++), Maven (Java), NPM (node.js) και NuGet (.NET).
- Υποστήριξη για αναπτύξεις καναρινιών, που σας επιτρέπουν να εγκαταστήσετε μια νέα έκδοση μιας εφαρμογής σε ένα μικρό υποσύνολο συστημάτων.
- Αυξητικές διανομές, οι οποίες αρχικά παραδίδουν νέες εκδόσεις μόνο σε μικρό αριθμό συστημάτων, αυξάνοντας σταδιακά την κάλυψη στο 100%.
- Σημαίες ενεργοποίησης λειτουργικότητας που επιτρέπουν στο έργο να παραδοθεί σε διαφορετικές εκδόσεις ενεργοποιώντας δυναμικά ορισμένες λειτουργίες.
- Μια λειτουργία επισκόπησης για αναπτύξεις που σας επιτρέπει να αξιολογείτε την εύρυθμη λειτουργία κάθε περιβάλλοντος συνεχούς ενσωμάτωσης που βασίζεται στο Kubernetes.
- Υποστήριξη για τον ορισμό πολλαπλών συμπλεγμάτων Kubernetes στον διαμορφωτή (για παράδειγμα, μπορείτε να χρησιμοποιήσετε ξεχωριστά συμπλέγματα Kubernetes για δοκιμαστικές αναπτύξεις και φόρτους εργασίας παραγωγής).
- Υποστήριξη για τον καθορισμό πολιτικών ασφαλείας δικτύου κοντέινερ για τον περιορισμό της πρόσβασης μεταξύ των pod Kubernetes.
Επιπλέον, μπορεί να σημειωθεί Ενημερώσεις GitLab 12.9.1, 12.8.8 και 12.7.8 (Community Edition και Enterprise Edition), οι οποίες διορθώνουν το θέμα ευπάθειας. Το πρόβλημα υπάρχει από την κυκλοφορία του GitLab EE/CE 8.5 και επιτρέπει την ανάγνωση του περιεχομένου οποιουδήποτε τοπικού αρχείου κατά τη μετακίνηση ενός προβλήματος μεταξύ έργων.
Λεπτομέρειες για την ευπάθεια θα αποκαλυφθούν εντός 30 ημερών.
Πηγή: opennet.ru
