Παρουσιάζοντας τις ενέργειες GitHub
Όπως όλοι γνωρίζουμε, η συνεχής ενοποίηση αποτελείται από πολλές λειτουργίες, όπως απόξεση κώδικα, εκτέλεση δοκιμών, σύνδεση σε απομακρυσμένους διακομιστές, δημοσίευση σε υπηρεσίες τρίτων κ.λπ. Το GitHub αποκαλεί αυτές τις ενέργειες ενέργειες. Το Github Action είναι μια υπηρεσία συνεχούς ενοποίησης (CI) που ξεκίνησε από το GitHub, η οποία παρέχει ένα καλά διαμορφωμένο περιβάλλον εικονικού διακομιστή βάσει του οποίου μπορεί να δημιουργήσει, να δοκιμάσει, να συσκευάσει και να αναπτύξει έργα. Μια πλατφόρμα που επιτρέπει στους προγραμματιστές να αυτοματοποιούν την προσαρμοσμένη λογική ροής εργασιών και ενσωματώνει δυνατότητες συνεχούς ενοποίησης και παράδοσης (CI/CD) που επιτρέπουν στους προγραμματιστές να αυτοματοποιούν μια σειρά ροών εργασίας.
Ενέργειες GitHubΚάθε εργασία παρέχεται με μια εικονική μηχανή για εκτέλεση, κάθε εικονική μηχανή έχει τους ίδιους πόρους υλικού:
CPU 2 πυρήνων, 7 GB RAM, 14 GB χώρος στον σκληρό δίσκο SSD, η συνολική χωρητικότητα του σκληρού δίσκου είναι περίπου 90G και ο ελεύθερος χώρος είναι περίπου 30G.
Κάθε αποθήκη μπορεί να υποστηρίξει μόνο 20 ροές εργασίας παράλληλα ταυτόχρονα. Μπορείτε να πραγματοποιήσετε 1000 κλήσεις στο GitHub API ανά ώρα. Κάθε εργασία μπορεί να εκτελεστεί έως και 6 ώρες. Η δωρεάν έκδοση υποστηρίζει έως και 20 ταυτόχρονες εκτελέσεις εργασιών, ενώ το macOS υποστηρίζει μόνο έως και 5 εργασίες. Οι ιδιωτικές αποθήκες έχουν αθροιστικό μηνιαίο χρόνο χρήσης 2000 λεπτών, μετά από 0.008 $/λεπτό, και οι δημόσιες αποθήκες δεν έχουν όριο. Όσον αφορά τα λειτουργικά συστήματα, μπορείτε να επιλέξετε από Windows server, Linux, macOS και ένας μεγάλος αριθμός πακέτων λογισμικού και εργαλείων είναι προεγκατεστημένα.
Επίσημη εισαγωγή στους δρομείς που φιλοξενούνται στο GitHub:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Εισαγωγή OpenWrt
Στα τέλη του 2002, η Linksys κυκλοφόρησε έναν δρομολογητή που ονομάζεται WRT-54G, ο οποίος ήταν πολύ δημοφιλής, αλλά το WRT-54G χρησιμοποιεί το λειτουργικό σύστημα Linux και ο πυρήνας λογισμικού αναπτύσσεται με την άδεια GPL, η οποία πρέπει να ακολουθεί πρότυπα ανοιχτού κώδικα. Το Linksys άνοιξε τον πηγαίο κώδικα το 2003 και τον Ιανουάριο του 2004 εμφανίστηκε το πρώτο σύστημα δρομολόγησης ανοιχτού κώδικα βασισμένο στον πηγαίο κώδικα του Linksys με το όνομα OpenWRT. Επιπλέον, το επόμενο LEDE είναι μια διακλάδωση του OpenWRT που εμφανίστηκε το 2016 και το openwrt και το LEDE συγχωνεύτηκαν σε ένα τον Ιανουάριο του 2018.
Επίσημη διεύθυνση ιστότοπου:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Παρουσίαση έργου Lienol, Lean, ImmortalWrt
Και τα τρία έργα είναι έργα ανοιχτού κώδικα που έχουν τροποποιηθεί και προσαρμοστεί με βάση το επίσημο έργο OpenWrt. Μεταφορά περισσότερων πακέτων, υποστήριξη για περισσότερες συσκευές, καλύτερη απόδοση και ειδικές βελτιστοποιήσεις για χρήστες στην ηπειρωτική Κίνα.
Διεύθυνση Lienol:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Λιτή διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Διεύθυνση ImmortalWrt:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Μεταγλώττιση του υλικολογισμικού OpenWrt
Τώρα που έχουμε τη γενική εισαγωγή, ας αρχίσουμε να σας διδάσκουμε πώς να χρησιμοποιείτε το GitHub Actions για τη μεταγλώττιση υλικολογισμικού OpenWRT και γιατί να χρησιμοποιείτε το GitHub Actions για τη μεταγλώττιση υλικολογισμικού;
1. Δεν χρειάζονται οι δικοί σας φυσικοί πόροι, χρησιμοποιήστε απευθείας τον διακομιστή που παρέχεται από το GitHub 2. Δεδομένου ότι ορισμένοι πόροι δεν είναι προσβάσιμοι στο εσωτερικό, θα αποτύχουν να μεταγλωττιστούν, επομένως η χρήση διακομιστών GitHub ενδέχεται να μην είναι προβληματική
Αρχικά, πρέπει να έχετε λογαριασμό GitHub.Fork AutoBuild-OpenWrt από τον συγγραφέα του "esirplayground", γιατί έχει ήδη γράψει το σενάριο για το Actions στο έργο.
Διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή., όπως φαίνεται στο παρακάτω σχήμα:
Με αυτόν τον τρόπο, ισοδυναμούμε με τη δημιουργία ενός έργου AutoBuild-OpenWrt μόνοι μας, η λειτουργία ενεργειών δεν είναι ενεργοποιημένη από προεπιλογή, πρέπει να την ενεργοποιήσουμε, κάντε κλικ στο "Κατανοώ τις ροές εργασίας μου, προχωρώ και τις ενεργοποιώΟπως φαίνεται παρακάτω:
Οι ροές εργασίας δεν εκτελούνται σε αυτό το διχαλωτό αποθετήριο Επειδή αυτό το αποθετήριο περιείχε αρχεία ροής εργασίας όταν ήταν διακλαδωμένο, τα απενεργοποιήσαμε από την εκτέλεση σε αυτό το πιρούνι. Βεβαιωθείτε ότι κατανοείτε τις ρυθμισμένες ροές εργασίας και την αναμενόμενη χρήση τους πριν ενεργοποιήσετε τις Ενέργειες σε αυτό το χώρο αποθήκευσης.
Κατανοώ τις ροές εργασίας μου, προχωρώ και τις ενεργοποιώ
Στη συνέχεια, επεξεργαστείτε/.github/workflows/Build_OP_x86_64.ymlΤο αρχείο είναι όπως φαίνεται παρακάτω:
Καταργήστε το σχόλιο που σχετίζεται με το push και, στη συνέχεια, υποβάλετε τον κώδικα, όπως φαίνεται στην παρακάτω εικόνα:
Κοιτάξτε τη σελίδα Ενέργειες και επιλέξτε Build_x86_64 Ροή εργασίας και μπορείτε να δείτε ότι η εργασία μεταγλώττισης έχει ήδη ξεκινήσει, όπως φαίνεται στην παρακάτω εικόνα:
Μετά από περίπου 3 ώρες εκτέλεσης, η κατασκευή τελικά πέτυχε, όπως φαίνεται παρακάτω:
Μπορείτε να κάνετε κλικ στο OpenWrt στην περιοχή Artifacts για λήψη του συμπιεσμένου πακέτου και μετά τη λήψη, τα περιεχόμενα του συμπιεσμένου πακέτου είναι όπως φαίνεται παρακάτω:
Τέλος, επισυνάψτε τη διεύθυνση λήψης υλικολογισμικού που βασίζεται στο ImmortalWrt:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
(Τέλος)
|