Sobes.tech
Middle

Πώς χρησιμοποιούνται οι μεταβλητές έκδοσης στη διαδικασία ανάπτυξης; Πώς δημιουργούνται και από πού αντλούνται;

sobes.tech AI

Απάντηση από AI

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

Βασικοί τρόποι χρήσης:

  • Ταυτοποίηση κατασκευής: Κάθε κατασκευή λαμβάνει έναν μοναδικό αναγνωριστικό, που μπορεί να περιλαμβάνει τον αριθμό έκδοσης, το hash του commit, το χρονικό σήμα.
  • Διαχείριση εκδόσεων: Οι μεταβλητές έκδοσης επιτρέπουν σαφή διαχωρισμό μεταξύ σταθερών εκδόσεων, beta και νυχτερινών κατασκευών.
  • Επαναφορά: Σε περίπτωση προβλημάτων, μπορείτε γρήγορα να επιστρέψετε σε μια προηγούμενη λειτουργική έκδοση χρησιμοποιώντας το αναγνωριστικό της.
  • Καταγραφή και παρακολούθηση: Στα αρχεία καταγραφής και στα metrics, αναφέρεται η έκδοση της εφαρμογής, διευκολύνοντας τη διάγνωση.

Δημιουργία και πηγές:

  • Συστήματα ελέγχου εκδόσεων (Git, SVN):
    • Ετικέτες: Δημιουργούνται χειροκίνητα ή αυτόματα για να σηματοδοτήσουν σημαντικά σημεία (π.χ., εκδόσεις).
    • Hash του commit: Μοναδικός αναγνωριστικός κάθε commit.
  • Συστήματα CI/CD (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Προκαθορισμένες μεταβλητές: Τα συστήματα CI/CD παρέχουν μεταβλητές που περιέχουν πληροφορίες σχετικά με την τρέχουσα εκτέλεση (αριθμός κατασκευής, κλαδί, hash commit).
    • Σενάρια κατασκευής: Οι μεταβλητές έκδοσης μπορούν να δημιουργηθούν από σενάρια κατά τη διάρκεια της κατασκευής βάσει δεδομένων SCM και CI/CD.
  • Αυτόματοι γεννήτριες εκδόσεων: Εργαλεία που αναλύουν το ιστορικό των commits (π.χ., βάσει των Conventional Commits) και δημιουργούν αυτόματα αριθμούς έκδοσης (Major.Minor.Patch).
  • Αρχεία διαμόρφωσης: Η έκδοση μπορεί να δηλωθεί σε αρχεία διαμόρφωσης του έργου (π.χ., package.json στο Node.js, pom.xml στο Maven).

Παραδείγματα:

# Απόκτηση hash του τελευταίου commit στο Git
git rev-parse HEAD
// Jenkins Pipeline - απόκτηση αριθμού κατασκευής από μια προκαθορισμένη μεταβλητή
println "Αριθμός κατασκευής: ${env.BUILD_NUMBER}"
# GitLab CI - απόκτηση κλάδου και hash commit
# από προκαθορισμένες μεταβλητές
μεταβλητές:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Οι μεταβλητές έκδοσης ενσωματώνονται στη διαδικασία κατασκευής και ανάπτυξης μέσω:

  • Μεταβλητών περιβάλλοντος: Τα συστήματα CI/CD εξάγουν πληροφορίες ως μεταβλητές περιβάλλοντος.
  • Εντολές γραμμής: Μεταβιβάζονται στα σενάρια κατασκευής.
  • Αρχεία διαμόρφωσης: Διαβάζονται από τα εργαλεία κατασκευής.
  • Πρόσθετα και επεκτάσεις: Τα εργαλεία κατασκευής και τα συστήματα CI/CD διαθέτουν πρόσθετα για ενσωμάτωση με SCM και αυτόματη λήψη πληροφοριών έκδοσης.