Εξέλιξη Κομματιού
Κυριαρχία στις ελαφριές γραμμές διαδρομής CI (Lightweight CI Sovereignty)
- Γιατί οι υπηρεσίες CI/CD στο cloud δημιουργούν κινδύνους εξάρτησης από τον προμηθευτή (vendor lock-in) και διαρροής κωδικών.
- Στόχοι σχεδιασμού του Woodpecker CI: απλότητα, native υποστήριξη Docker, ανεξαρτησία από το Git forge.
- Σύγκριση με τα GitHub Actions, GitLab CI, Drone και Jenkins.
Εγκατάσταση Server και Agent
- Stack Docker Compose: server, agents και βάση δεδομένων.
- Μεταβλητές περιβάλλοντος και εγγραφή OAuth για το Forge.
- Ετικέτες (labels) agents, σχεδιασμός χωρητικότητας και περιορισμοί πόρων.
Σύνταξη Γραμμής Διαδρομής (Pipeline Authoring)
- Σύνταξη woodpecker.yml: βήματα, υπηρεσίες και συνθήκες.
- Επιλογή εικόνων Docker και προσαρτήση χώρου εργασίας.
- Παράλληλη εκτέλεση και αλυσίδες εξαρτήσεων.
Ενσωμάτωση με το Forge
- Διαμόρφωση webhook για Gitea και Forgejo.
- Φιλτραρίσματος κλάδων (branch filtering), πυροδότηση PR και συμβάντων tag.
- Αναφορά κατάστασης commit (commit status) και δημιουργία badge.
Μυστικά (Secrets) και Ασφάλεια
- Εμβέλειες μυστικών: repository, οργάνωσης και καθολική.
- Ένεση διαπιστευτηρίων για φάσεις υλοποίησης.
- Μόνωση δικτύου και αξιόπιστοι έναντι μη αξιόπιστων agents.
Κατασκευές Matrix και Κρυφή Μνήμη (Caching)
- Μήτρας δοκιμών για πολλαπλές γλώσσες και εκδόσεις.
- Πρόσθετο (plugin) κρυφής μνήμης για φακέλους εξαρτήσεων.
- Ανάθεση αρχείων σε αποθηκευτικό χώρο συμβατό με S3.
Λειτουργίες
- Καταγραφές server, τηλεμετρία agents και επιθεώρηση ουράς.
- Αντίγραφα ασφαλείας και αποκατάσταση ιστορικού γραμμών διαδρομής και μυστικών.
Απαιτήσεις
- Εμπειρία με το Git και τις γραμμές διαδρομής CI/CD σε μέσο επίπεδο.
- Γνώσεις διαχείρισης server με Linux και Docker.
- Γνωριμία με τη διαχείριση Gitea ή Forgejo.
Σκοπευόμενο Κοινό
- Ομάδες DevOps που χρειάζονται ελαφρύ, αυτοδιαχειριζόμενο CI για Gitea/Forgejo.
- Οργανισμοί που επιθυμούν να αποφύγουν τις υπηρεσίες SaaS των GitHub Actions ή GitLab CI.
- Μικρές και μεσαίες ομάδες που επιθυμούν κυριαρχία στις γραμμές διαδρομής (pipelines) χωρίς περιττή πολυπλοκότητα.
Σχόλια (4)
Εμπνευσματική και χειρονομητική πрактиκή.
Balavignesh Elumalai - Scottish Power
Κομμάτι - SonarQube for DevOps
Μηχανική Μετάφραση
Ο καθηγητής έχει βαθιά γνώση και είναι πολύ αποδεκτός στην πρακτική. Η βάθεια γνώση του και η πάθησή του για τη διδασκαλία εκτιμούνται υπερβολικά.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Κομμάτι - Jenkins 2: Building CI/CD Pipelines
Μηχανική Μετάφραση
Εισαγωγή σε μερικές τεχνολογίες που εύχομαι να κάνα αρκετά χρόνια νωρίτερα.
Michel - Vanier College
Κομμάτι - DevOps Practical Implementation and Tools
Μηχανική Μετάφραση
Μου αρέσουν όλες οι πιθανότητες που ανακάλυψα στο μάθημα για τις επιλογές DevOps που μπορώ να εφαρμόσω ώστε να έχω καλύτερη ροή CD/CI!
Juan Manuel - si
Κομμάτι - Jenkins: Continuous Integration for Agile Development
Μηχανική Μετάφραση