ΚΑΒΑΛΑ

Τεχνολογία · Κώδικας · Απόψεις

VaultNull
ημερολόγιο εργασίας — ιστοσελίδες, εργαλεία, απόψεις
Άρθρα/Τι είναι το CI/CD;

DevOps · Άρθρο

Τι είναι το CI/CD;

Από το VaultNull17.09.202615 προβολές#devops
Fig. 1 — Τι είναι το CI/CD;

Κάνεις git push και μέσα σε λίγα λεπτά ο κώδικάς σου έχει τεσταριστεί, χτιστεί και ίσως ήδη είναι live — χωρίς να πατήσεις κανένα άλλο κουμπί. Αυτό είναι το CI/CD: ένα σύνολο αυτοματισμών που τρέχουν σε κάθε αλλαγή κώδικα.

Continuous Integration

Το CI (Continuous Integration) είναι το πρώτο κομμάτι: κάθε φορά που κάποιος κάνει push ή ανοίγει pull request, ένα σύστημα τρέχει αυτόματα τα τεστ και ελέγχει ότι ο νέος κώδικας δεν σπάει τίποτα. Αν κάτι αποτύχει, το μαθαίνεις πριν καν γίνει merge — όχι μετά, στο production.

Continuous Deployment / Delivery

Το CD μπερδεύει κόσμο γιατί σημαίνει δύο πράγματα. Continuous Delivery σημαίνει ότι ο κώδικας είναι πάντα έτοιμος να πάει live, αλλά κάποιος πατάει το κουμπί χειροκίνητα. Continuous Deployment πάει ένα βήμα παραπέρα: αν τα τεστ περάσουν, πάει live αυτόματα, χωρίς άνθρωπο στη μέση.

Ένα τυπικό pipeline

  • εγκατάσταση dependencies
  • τρέξιμο τεστ και linting
  • build της εφαρμογής
  • deploy σε staging ή production

Κάθε βήμα πρέπει να περάσει για να προχωρήσει το επόμενο — αν τα τεστ αποτύχουν, το pipeline σταματάει εκεί, πριν φτάσει σε deploy.

Το βλέπεις ήδη χωρίς να το ξέρεις

Αν έχεις ανεβάσει ποτέ κάτι στο Vercel ή στο Render, έχεις ήδη χρησιμοποιήσει CD: κάθε push στο main γίνεται αυτόματα deploy, χωρίς να αγγίξεις server. Για το CI κομμάτι, εργαλεία όπως GitHub Actions και GitLab CI τρέχουν τεστ πάνω σε κάθε pull request.

Με λίγα λόγια

  • CI = αυτόματο τεστάρισμα κάθε αλλαγής κώδικα, πριν γίνει merge.
  • Continuous Delivery = πάντα έτοιμο για deploy, αλλά με χειροκίνητο κουμπί.
  • Continuous Deployment = deploy αυτόματα, χωρίς άνθρωπο στη μέση.
  • Vercel/Render deploy σε κάθε push είναι CD στην πράξη.

Σχόλια · 0