πώς να συγχωνεύσετε κλάδους στο GitHub, ακύρωση συγχώνευσης GitHub, κλάδος GitHub

Δημιουργήστε ένα υποκατάστημα στο GitHub και συγχωνεύστε με ασφάλεια

Πίνακας περιεχομένων

Αναρτήσεις που πρέπει να διαβάσετε

Τελευταίες αναρτήσεις ενδιαφέροντος

Η εκμάθηση του τρόπου δημιουργίας ενός κλάδου στο GitHub είναι το πρώτο βήμα. Ωστόσο, η εξοικείωση με τον τρόπο ασφαλούς συγχώνευσης κλάδων στο GitHub είναι εξίσου κρίσιμη για κάθε κλάδο. GitHub ροή εργασίας. Έτσι, σε αυτήν την ανάρτηση, θα σας καθοδηγήσουμε σε ολόκληρη τη διαδικασία, ξεκινώντας με πώς να δημιουργήσετε ένα υποκατάστημα στο GitHub και μετά σου δείχνω πώς να συγχωνεύσετε κλάδους στο GitHub με ασφάλεια. Θα καλύψουμε επίσης τον τρόπο ακύρωσης μιας συγχώνευσης εάν εντοπίσετε προβλήματα και, τέλος, πώς το Xygeni μπορεί να σας βοηθήσει να εντοπίσετε κάθε πρόβλημα προτού φτάσει στον κύριο κλάδο σας.

Ας το δούμε βήμα προς βήμα.

1. Πώς να δημιουργήσετε ένα Branch στο GitHub με τον σωστό τρόπο

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

Για να δημιουργήσετε ένα υποκατάστημα στο GitHub:

1. Μεταβείτε στο αποθετήριό σας

2. Κάντε κλικ στο αναπτυσσόμενο μενού επιλογής υποκαταστήματος

πώς να συγχωνεύσετε κλάδους στο GitHub, ακυρώστε τη συγχώνευση GitHub και υποκαταστημάτων GitHub

3. Πληκτρολογήστε το όνομα του νέου σας υποκαταστήματος

4. κλικ Δημιουργία υποκαταστήματος

πώς να συγχωνεύσετε κλάδους στο GitHub, ακυρώστε τη συγχώνευση GitHub και υποκαταστημάτων GitHub

Από εδώ, το νέο σας υποκατάστημα είναι έτοιμο. Μπορείτε πλέον να προωθήσετε κώδικα, να συνεργαστείτε σε αλλαγές και τελικά να ανοίξετε ένα pull requestΠαρόλο που πρόκειται για μια βασική ενέργεια στο GitHub, θέτει τις βάσεις για ασφαλή ανάπτυξη.

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

2. Σάρωση Pull Requests Αυτόματα πριν από τη συγχώνευση

Όταν δημιουργείτε ένα υποκατάστημα στο GitHub και προετοιμάζεστε για έλεγχο, το επόμενο βήμα είναι να κατανοήσετε πώς να συγχωνεύσετε τα υποκαταστήματα στο GitHub με ασφάλεια. Κάθε ώθηση υποκαταστήματος στο GitHub θα πρέπει να ενεργοποιεί αυτοματοποιημένους ελέγχους. Αλλά πριν από τη συγχώνευση, είναι απαραίτητο να επαληθεύει that Ο κώδικας δεν εισάγει ευπάθειες. Ένα μόνο μη ασφαλές commit μπορεί να εκθέσει την εφαρμογή σας, leak secrets, ή να διασπάσουν κρίσιμες υποδομές.

Η συγχώνευση κώδικα στον κύριο κλάδο σας είναι μια λειτουργία με μεγάλο αντίκτυπο. Χωρίς τους κατάλληλους ελέγχους, μπορεί να οδηγήσει σε σοβαρές συνέπειες, όπως:

Εδώ είναι που το Xygeni κάνει την πραγματική διαφορά

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

Η Xygeni αναλύει το τελευταία εκτέλεση του pull request ροής εργασίας για την επικύρωση της κατάστασης ασφαλείας των προτεινόμενων αλλαγών. Αυτό περιλαμβάνει τον έλεγχο για ζητήματα στον κώδικα, εξαρτήσεις, μυστικά και CI/CD διαμορφώσειςΟλόκληρος ο κλάδος δεν σαρώνεται ξανά, αλλά το πιο πρόσφατο αποτέλεσμα ροής εργασίας χρησιμοποιείται για την επιβολή πολιτικών και τον αποκλεισμό μη ασφαλών συγχωνεύσεων.

Αυτές οι σαρώσεις επικυρώνουν ότι ο κώδικας είναι ασφαλής και έτοιμος για παραγωγή. Εντοπίζουν:

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

Ακολουθεί μια απλοποιημένη ρύθμιση:

on:   pull_request:     branches: [ main ] jobs:   xygeni-scan:     runs-on: ubuntu-latest     steps:       - name: Checkout         uses: actions/checkout@v3       - name: Xygeni Scanner         uses: xygeni/xygeni-action@3.2.0         with:           token: ${{ secrets.XYGENI_TOKEN }}

3. Αποκλεισμός μη ασφαλών συγχωνεύσεων με Guardrails

Guardrails, βεβαιωθείτε ότι όταν δημιουργείτε έναν κλάδο στο GitHub ή επιχειρείτε να συγχωνεύσετε κλάδους στο GitHub, μόνο ασφαλείς αλλαγές φτάνουν στην εγκατάσταση του κύριου κλάδου σας στο GitHub. Το Xygeni σας δίνει πλήρης έλεγχος σε ό,τι συγχωνεύεταιΜπορείτε να ορίσετε προcisκανόνες προσαρμοσμένους στις πολιτικές ασφαλείας σας και στην ανοχή κινδύνου σας. Για παράδειγμα:

  • Αποκλεισμός εάν είναι κρίσιμο μυστικό βρίσκεται (π.χ., κλειδιά AWS, διακριτικά)
  • Αποτυχία στην κατασκευή αν ένα νέο υψηλού κινδύνου Παρουσιάζεται ένα πακέτο ανοιχτού κώδικα
  • Απορρίπτω pull requests that τροποποίηση ευαίσθητων διαδρομών όπως το λευκό και το γκρι είναι μια ασφαλής επιλογή. Ταιριάζουν σχεδόν με οποιοδήποτε χρώμα ξύλου και δημιουργούν μια ισορροπημένη εμφάνιση. Για μια μοντέρνα αίσθηση, ίσως προτιμήσετε .github/workflows/, infrastructure/Το HIFU, ή Υψηλής Έντασης Εστιασμένος Υπέρηχος, στοχεύει επίσης στο πρόσωπο και τον λαιμό. Προσφέρει θεραπεία σε γρήγορες εκπομπές, γεγονός που κάνει τις συνεδρίες θεραπείας συντομότερες. secrets.env
  • Αποτροπή συγχωνεύσεων αν ένα η υποβάθμιση επανεισάγει γνωστός τρωτά σημεία
  • Αποκλεισμός CI/CD αλλαγές διαμόρφωσης εκτός εάν έχει επισημανθεί σωστά
  • Διακοπή συγχωνεύσεων εάν SAST ανιχνεύει υψηλό ή κρίσιμα ζητήματα
  • Εφαρμόστε αυστηρότερα Guardrails σε κλάδους παραγωγής διατηρώντας παράλληλα την ευελιξία στην ανάπτυξη

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

Παράδειγμα κανόνα για κιγκλίδωμα ασφαλείας:

guardrail block_critical_secrets   on secrets   when severity = critical   then @fail()

Οπτική ανατροφοδότηση στο Dashboard

πώς να συγχωνεύσετε κλάδους στο GitHub, ακυρώστε τη συγχώνευση GitHub και υποκαταστημάτων GitHub

Για να διασφαλιστεί η πλήρης ορατότητα, το Xygeni εμφανίζει το αποτέλεσμα της τελευταίας αξιολόγησης της κατάστασης του Guardrail.

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

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

Πραγματικό παράδειγμα από το Dashboard:

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

Το Xygeni ανιχνεύει και επισημαίνει αυτόματα αυτό ως υπογεγραμμένο_commits ζήτημα στο πλαίσιο του CI/CD κατηγορία. ο dashboard καλύτερες στιγμές:

  • Αυστηρότητα: Ψηλά
  • Τύπος: Υπογραφή Commits
  • Επεξήγηση: Το αποθετήριο δεν έχει προστατευμένα κλαδιά
  • Κατάσταση: Ανοικτό

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

Προσαρμόστε Συμπεριφορά Επιβολής

Έχετε πάντα τον έλεγχο. Επιλέξτε πόσο αυστηρά Guardrails πρέπει να είναι:

  • --fail-on=critical: Το μπλοκ συγχωνεύεται μόνο σε σοβαρά ευρήματα
  • --never-fail: τρέξιμο Guardrails σε λειτουργία dry-run για να δοκιμάσετε πολιτικές πριν από την εφαρμογή τους

Έτσι, την επόμενη φορά που θα δημιουργήσετε ένα υποκατάστημα στο GitHub, το Guardrails είναι ήδη εκεί, προστατεύοντάς σας pipeline και την αυτόματη εφαρμογή των πολιτικών σας.

Πώς μπορώ να ξέρω αν μια εφαρμογή GitHub είναι ασφαλής;

Μάθετε πώς να αξιολογείτε εφαρμογές GitHub πριν τις εγκαταστήσετε.

Σχετικά διαβάστε:

4. Ακύρωση συγχώνευσης στο GitHub αυτόματα όταν εντοπιστούν κίνδυνοι

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

Το Xygeni ενσωματώνεται απευθείας στο περιβάλλον χρήστη του GitHub. Όταν εντοπιστεί κίνδυνος:

  • Το GitHub εμφανίζει τον έλεγχο ως αποτυχημένο
  • Οι προστασίες του GitHub αποτρέπουν τη συγχώνευση
  • Η ουρά συγχώνευσης παραλείπει τον μη ασφαλή κώδικα

Είτε πρόκειται για μυστικό, CVE ή επικίνδυνο CI/CD μοτίβο, το αποτέλεσμα είναι το ίδιο: το Η συγχώνευση ακυρώθηκε στο GitHub και επισημάνθηκε για έλεγχο.

Μπορείτε επίσης να δείτε λεπτομερή αποτελέσματα στο Xygeni:

  • Η κατάσταση ασφαλείας κάθε υποκαταστήματος
  • Γιατί μπλοκαρίστηκε μια συγχώνευση
  • Πλήρες ιστορικό σάρωσης
  • Η κατάσταση του κιγκλιδώματος εμφανίζεται μέσω πράσινων (επιτυχία) ή κόκκινων (αποτυχία) εικονιδίων στη σελίδα του έργου

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

Συγχώνευση Tldr Μόνο Ό,τι Είναι Ασφαλές

Συνοψίζοντας, δείτε πώς μπορείτε να συγχωνεύσετε με ασφάλεια αφού δημιουργήσετε έναν κλάδο στο GitHub:

  • Δημιουργήστε ένα υποκατάστημα στο GitHub μέσω του UI
  • Ενεργοποιήστε αυτόματες σαρώσεις με κάθε pull request με το Xygeni 
  • Αποκλεισμός μη ασφαλών συγχωνεύσεων χρησιμοποιώντας Guardrails
  • Χρησιμοποιήστε πολιτικές ελέγχου από την πλευρά του διακομιστή για βαθύτερο έλεγχο
  • Ακύρωση συγχώνευσης στο GitHub όταν κάτι αποτύχει
  • Οπτικοποιήστε όλα τα αποτελέσματα στο Xygeni's dashboard

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

Παρόλο που η συγχώνευση είναι μια βασική λειτουργία, η ασφαλής εκτέλεσή της απαιτεί πραγματική ορατότητα και αυτοματοποίηση. Με το Xygeni, δεν συγχωνεύετε απλώς κώδικα, συγχωνεύετε την εμπιστοσύνη.

Προστατέψτε κάθε κλάδο GitHub με σιγουριά

Ένα μόνο παραβλεπόμενο ζήτημα σε ένα pull request μπορεί να θέσει σε κίνδυνο τον κύριο κλάδο σας. Οι παραδοσιακοί σαρωτές συχνά εκτελούνται πολύ αργά, παραβλέπουν κρίσιμους κινδύνους ή δεν επιβάλλουν ουσιαστικές πολιτικές.

Γι' αυτό η προστασία των κλάδων GitHub απαιτεί περισσότερα από απλή σάρωση.

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

Τι το κάνει διαφορετικό:

  • Επικύρωση πλήρους πλαισίου: Guardrails επιβολή πολιτικής χρησιμοποιώντας πλούσιο περιβάλλον όπως η σοβαρότητα, η εκμετάλλευσιμότητα και τα μεταδεδομένα κλάδων.
  • Ενσωματωμένη ενσωμάτωση GitHub: Τα πάντα, από τη σάρωση έως την επιβολή, εκτελούνται εγγενώς στις ροές εργασίας σας στο GitHub, χωρίς να χρειάζονται προσαρμοσμένα σενάρια ή κώδικα glue.
  • Έλεγχοι από την πλευρά του διακομιστή: Πλευρά του διακομιστή Guardrails επικυρώστε τα αποτελέσματα μετά την μεταφόρτωση, προσθέτοντας ένα δεύτερο επίπεδο ελέγχου εκτός του pipeline.

Αντί να βασίζεται στη ρύθμιση CI σας για να καταγράφει τα πάντα, το Xygeni εφαρμόζει αυτοματοποιημένη, βασισμένη σε πολιτικές ανάλυση.cisιόντα πριν οτιδήποτε φτάσει στον κύριο κλάδο σας.

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

εργαλεία-ανάλυσης-σύνθεσης-λογισμικού-sca
Ιεράρχηση, αποκατάσταση και ασφάλεια των κινδύνων λογισμικού σας
Αποκτήστε τον Δωρεάν Λογαριασμό σας.
Δεν απαιτείται πιστωτική κάρτα.

Ασφαλίστε την ανάπτυξη και την παράδοση λογισμικού σας

με το Xygeni Product Suite