Middle
Geliştirme sürecinde sürüm değişkenleri nasıl kullanılır? Nasıl oluşturulurlar ve nereden alınırlar?
sobes.tech yapay zeka
AI'dan gelen yanıt
Sürüm değişkenleri, yazılım ürününün belirli bir durumu veya sürümünü tanımlamak için kullanılır. Değişiklikleri izlemeye, sürümleri yönetmeye ve derlemelerin yeniden üretilebilirliğini sağlamaya yardımcı olurlar.
Kullanımın temel yolları:
- Derleme tanımlaması: Her derlemeye, sürüm numarası, commit hash, zaman damgası gibi benzersiz bir tanımlayıcı atanır.
- Sürüm yönetimi: Sürüm değişkenleri, kararlı sürümler, beta sürümler ve gece derlemeleri arasında net ayrımlar yapmaya olanak tanır.
- Geri alma: Sorunlar ortaya çıktığında, tanımlayıcı kullanılarak hızlıca çalışan önceki sürüme dönülebilir.
- Kayıt ve izleme: Günlüklerde ve metriklerde uygulama sürümü belirtilir, bu da tanılamayı kolaylaştırır.
Oluşum ve kaynaklar:
- Sürüm kontrol sistemleri (Git, SVN):
- Etiketler: Manuel veya otomatik olarak önemli noktaları göstermek için oluşturulur (örneğin, sürümler).
- Commit hash: Her commit için benzersiz tanımlayıcı.
- CI/CD sistemleri (Jenkins, GitLab CI, GitHub Actions, CircleCI):
- Önceden tanımlı değişkenler: CI/CD sistemleri, mevcut çalışmaya ilişkin bilgileri içeren değişkenler sağlar (derleme numarası, dal, commit hash).
- Derleme betikleri: Sürüm değişkenleri, SCM ve CI/CD verilerine dayanarak derleme sırasında otomatik olarak oluşturulabilir.
- Otomatik sürüm oluşturucular: Bu araçlar, commit geçmişini analiz eder (örneğin, Conventional Commits temel alınarak) ve otomatik olarak semantik sürüm numaraları (Major.Minor.Patch) üretir.
- Yapılandırma dosyaları: Sürüm, proje yapılandırma dosyalarında belirtilebilir (örneğin, Node.js için
package.json, Maven içinpom.xml).
Örnekler:
# Git'te son commit hash'ini al
git rev-parse HEAD
// Jenkins Pipeline - önceden tanımlı değişkenden derleme numarasını al
println "Derleme Numarası: ${env.BUILD_NUMBER}"
# GitLab CI - dal ve commit hash'ini al
# önceden tanımlı değişkenlerden
değişkenler:
GIT_BRANCH: $CI_COMMIT_BRANCH
GIT_COMMIT: $CI_COMMIT_SHA
Sürüm değişkenleri, derleme ve dağıtım sürecine şu şekilde entegre edilir:
- Ortam değişkenleri: CI/CD sistemleri, bilgileri ortam değişkenleri olarak dışa aktarır.
- Komut satırı argümanları: Derleme betiklerine iletilir.
- Yapılandırma dosyaları: Derleme araçları tarafından okunur.
- Eklentiler ve uzantılar: Derleme araçları ve CI/CD sistemleri, SCM ile entegrasyon ve otomatik sürüm bilgisi alma için eklentilere sahiptir.