Middle
Kā tiek izmantotas versijas mainīgās procesa laikā? Kā tās tiek izveidotas un no kurienes tās tiek ņemtas?
sobes.tech AI
Atbilde no AI
Versijas mainīgie izmanto, lai identificētu konkrētu stāvokli vai izdevumu programmatūras produktam. Tie palīdz sekot izmaiņām, pārvaldīt izdevumus un nodrošināt atkārtojamību būvēs.
Galvenie lietošanas veidi:
- Būves identifikācija: Katram būvim tiek piešķirts unikāls identifikators, kas var ietvert versijas numuru, commita hash, laika zīmogu.
- Izdevumu pārvaldība: Versijas mainīgie ļauj skaidri atšķirt stabilus izdevumus, beta versijas un nakts būves.
- Atjaunošana: Ja rodas problēmas, var ātri atgriezties pie iepriekšējās darba versijas, izmantojot tās identifikatoru.
- Žurnālu un uzraudzības: Žurnālos un metriku datos norādīta lietojumprogrammas versija, kas atvieglo diagnostiku.
Izveide un avoti:
- Versiju kontroles sistēmas (Git, SVN):
- Tagi: Tiek izveidoti manuāli vai automātiski, lai norādītu nozīmīgus punktus (piemēram, izdevumus).
- Commita hash: Katras komita unikāls identifikators.
- CI/CD sistēmas (Jenkins, GitLab CI, GitHub Actions, CircleCI):
- Iepriekš definētas mainīgās: Sistēmas nodrošina mainīgās, kas satur informāciju par pašreizējo izpildi (būves numurs, zars, commita hash).
- Būves skripti: Versijas mainīgie var tikt ģenerēti skriptiem būves laikā, balstoties uz SCM un CI/CD datiem.
- Automātiskie versiju ģeneratori: Rīki, kas analizē komitu vēsturi (piemēram, pēc Conventional Commits) un automātiski ģenerē semantiskos numurus (Major.Minor.Patch).
- Konfigurācijas faili: Versija var būt norādīta projekta konfigurācijas failos (piemēram,
package.jsonNode.js,pom.xmlMaven).
Piemēri:
# Saņemt pēdējā commita hash Git
git rev-parse HEAD
// Jenkins Pipeline - saņemt būves numuru no iepriekš definētas mainīgās
println "Build Number: ${env.BUILD_NUMBER}"
# GitLab CI - saņemt zaru un commita hash
# no iepriekš definētām mainīgajām
variables:
GIT_BRANCH: $CI_COMMIT_BRANCH
GIT_COMMIT: $CI_COMMIT_SHA
Versijas mainīgie tiek iegūti būvniecības un izvietošanas procesā caur:
- Vides mainīgajiem: CI/CD sistēmas eksportē informāciju kā vides mainīgās.
- Komandrindas argumentiem: Tie tiek nodoti būves skriptiem.
- Konfigurācijas failiem: Tie tiek nolasīti būvniecības rīkiem.
- Pievienojumiem un paplašinājumiem: Būvniecības rīki un CI/CD sistēmas ir ar spraudņiem, lai integrētu ar SCM un automātiski iegūtu versijas informāciju.