5.11 Web Deployment
5.11 Web Deployment
Η Δικτυακή Υλοποίηση (Web Deployment) του MyThesis ακολουθεί ένα αυστηρό μοντέλο DevOps που εστιάζει στην Απομόνωση Πόρων, την Αυτοματοποίηση Διαδικασιών και την Επιχειρησιακή Ανθεκτικότητα (Resilience). Η υλοποίηση αποδεικνύει την τεχνική αρτιότητα του συστήματος, καθώς ο έλεγχος της διανομής παραμένει εντός του περιβάλλοντος του dedicated server του εργαστηρίου.
5.11.1 Απομόνωση Λειτουργικών Μονάδων (Containers)
Η αρχιτεκτονική του συστήματος (Πίνακας 1) βασίζεται στην υιοθέτηση ενός μοτίβου μικρουπηρεσιών (Microservices Pattern), επιτυγχάνοντας τον διαχωρισμό των λειτουργιών σε τρεις ανεξάρτητες μονάδες (Containers). Η επιλογή αυτή εξασφαλίζει τη λειτουργική απομόνωση (Isolation) των υπηρεσιών, ελαχιστοποιώντας την αλληλεξάρτηση (decoupling) και ενισχύοντας την ανθεκτικότητα (Resilience) και τη συνολική σταθερότητα του συστήματος.
| Container ID | Πρωτεύων Λειτουργικός Ρόλος | Υλοποιητική Τεχνολογία |
|---|---|---|
| CT-101-DEVSRV | Μονάδα Δημιουργίας Εκδόσεων & Προετοιμασίας Διανομής (Release Generation & Distribution Staging Unit) | Φιλοξενεί τον πηγαίο κώδικα (VuePress). Εκτελεί τον Build Process, παράγοντας τα Build Artifacts στον κατάλογο .vuepress/dist. |
| CT-102-FILESRV | Κεντρική Μονάδα Διαχείρισης Ακεραιότητας & Πρόσβασης Δεδομένων (Data Integrity & Access) | Αυτοτελής κόμβος αρχείων (File Server). Διασφαλίζει την Επιχειρησιακή Συνέχεια (Business Continuity) μέσω τακτικών αντιγράφων ασφαλείας και λειτουργεί ως Shared Storage με διακριτούς ρόλους δικαιωμάτων πρόσβασης (ACLs). |
| CT-103-WEBSRV | Διακομιστής Παραγωγής (Production Server) | Ο dedicated Web Server (Apache). Αποτελεί τον τελικό κόμβο διανομής (Deployment Target) των στατικών αρχείων στον αναγνώστη. |
5.11.2 Υλοποίηση Συνεχούς Διανομής (Continuous Delivery)
Για την επίτευξη υψηλής ακρίβειας και την εξάλειψη λειτουργικών σφαλμάτων, η διαδικασία υλοποίησης αυτοματοποιείται μέσω εξειδικευμένων Bash scripts (Πίνακας 2). Τα scripts αυτά λειτουργούν ως Πρωτόκολλα Συνεχούς Διανομής (CD), διασφαλίζοντας την ταχεία, επαναλήψιμη και αδιάλειπτη ροή εργασίας (seamless workflow) του Deployment.
5.11.2.1 Το Script CD: publish-vue-digilady
Το script publish-vue-digilady είναι το κεντρικό πρωτόκολλο Continuous Deployment (CD) του συστήματος. Εκτελείται στο CT-101-DEV και αυτοματοποιεί πλήρως τη διαδικασία μετάβασης στον Production Server (CT-103-WEBSRV).
| Βήμα | Λειτουργική Φάση | Τεχνική Υλοποίηση και Αξία |
|---|---|---|
| Build | Δημιουργία Build Artifacts | Εκτελείται η εντολή npm run build εντός του CT-101-DEV, με αποτέλεσμα τη δημιουργία των βελτιστοποιημένων αρχείων στον κατάλογο dist. |
| Transfer | Ασφαλής Συγχρονισμός Δεδομένων | Χρησιμοποιείται το εργαλείο rsync σε συνδυασμό με την αυτόματη ταυτοποίηση SSH. Αυτή η μέθοδος εξασφαλίζει αποδοτικότητα (μεταφορά μόνο των διαφορών) και ασφάλεια (κρυπτογράφηση) κατά τον συγχρονισμό με τον τελικό κατάλογο /var/www/html του CT-103-WEBSRV. |
| Finalize | Ολοκλήρωση Ροής Εργασίας | Η χρήση αυτοματοποίησης SSH επιτρέπει ένα αδιάλειπτο workflow, ολοκληρώνοντας το deployment χωρίς να απαιτείται χειροκίνητη παρέμβαση ή εισαγωγή κωδικών πρόσβασης, επικυρώνοντας την επίτευξη του στόχου CD. |
5.11.3 Μηχανισμοί Επαναφοράς και Ανθεκτικότητας (Resilience Protocols)
Η διαχείριση του ρίσκου υλοποιείται μέσω αυστηρών πρωτοκόλλων που υιοθετούν τη φιλοσοφία της Αμετάβλητης Υποδομής (Immutable Infrastructure), εξασφαλίζοντας την ταχεία ανάκτηση των λειτουργιών του συστήματος.
- Πρωτόκολλο Ταχείας Αναγέννησης (Phoenix Protocol): Ένα εξειδικευμένο script, το
lxc-dev-phoenix, παρέχει τη δυνατότητα ολικής επαναφοράς του Container Ανάπτυξης CT-101-DEVSRV στην αρχική κατάσταση παράδοσης. Ο μηχανισμός αυτός, λειτουργώντας ως "Φοίνικας", καταστρέφει και ξαναδημιουργεί το περιβάλλον από το αρχικό image. Αυτό είναι κρίσιμο για την επαναληψιμότητα του περιβάλλοντος και επιτρέπει τον πειραματισμό χωρίς λειτουργικό κίνδυνο, καθώς διασφαλίζεται η άμεση επιστροφή στην έγκυρη (valid) βάση. - Αυτόνομη Δημιουργία Backup: Το script
build-vue-digilady-backupλειτουργεί ως πρόσθετο μέτρο διαχείρισης κινδύνου, διατηρώντας ένα ιστορικό εκδόσεων του τελικού περιεχομένου (Build Artifacts), ανεξάρτητα από τον κύριο μηχανισμό backup του CT-102-FILESRV.