Sobes.tech
Middle

Ako verzionujete panely vo vašich projektoch?

sobes.tech AI

Odpoveď od AI

Používame semantické verzionovanie (SemVer) vo forme MAJOR.MINOR.PATCH.

  • MAJOR: Zmeny, ktoré narušujú spätnú kompatibilitu.
  • MINOR: Pridanie funkcií pri zachovaní spätnej kompatibility.
  • PATCH: Opravy chýb pri zachovaní spätnej kompatibility.

Nasledujúce praktiky sa uplatňujú:

  • Verzia chartu je uvedená v súbore Chart.yaml.
  • Pri každej zmene chartu, ktorá ovplyvňuje nasadenie (aj malá), sa verzia zvýši podľa SemVer.
  • Git tagy sa používajú na zaznamenanie verzií chartov. Tag zodpovedá verzii chartu (napríklad mychart-1.2.3).
  • Pri nasadení sa používa konkrétna verzia chartu, nie najnovšia.
  • Verziovanie je integrované do CI/CD pipeline.

Príklad Chart.yaml:

# Chart.yaml
apiVersion: v2
name: my-app
description: Helm chart pre moju aplikáciu
version: 1.2.3 # Verzia chartu
appVersion: "1.0.0" # Verzia aplikácie

Flow CI/CD:

  1. Vývojár vykonáva zmeny v chart.
  2. Otvorí sa Merge Request.
  3. CI pipeline vykonáva linting a testovanie chartu (helm lint, helm test).
  4. Pri zlúčení do hlavnej vetvy sa verzia chartu zvýši (ručne alebo automaticky pomocou nástrojov CI/CD).
  5. Vytvorí sa Git tag s novou verziou chartu.
  6. Chart-y sa balia (helm package) a zverejňujú v repozitári chart-ov (napríklad, Artifactory, Nexus, OCI Registry).

Toto umožňuje vrátiť sa k predchádzajúcim verziám a jasne definovať zmeny medzi verziami.