Home

versionointi

Versionointi tarkoittaa artefaktien, kuten ohjelmiston, dokumenttien tai datamallien, versionumerointia ja muutoshistoriaa. Tavoitteena on parantaa seuraettavuutta, palautettavuutta ja yhteensopivuutta. Versionointi kattaa sekä versioiden numeroinnin että mahdollisesti versionhallintajärjestelmän käytön, joka tallentaa ja kuvaa tehtyjä muutoksia.

Versionhallintajärjestelmä (VCS) pitää kirjaa kaikista muutoksista. Yleisimmät järjestelmät ovat Git, Subversion ja Mercurial. Erottelun tekevät keskitetty

Versionoinnissa käytetään usein standardoituja versiokonventioita. Semanttinen versionointi (SemVer) käyttää kolmea lukua muodossa major.minor.patch. Suuret luvut merkitsevät

Julkaisu- ja kehitysprosesseissa julkaisuversioiden hallinta ja changelog ovat tärkeitä. Tagit merkitsevät pysyviä julkaisuja. Eri kehitysmallit, kuten

Parhaat käytännöt ovat johdonmukaisuus, versionumeroinnin automaatio ja CI/CD:n hyödyntäminen. Versionointi tulisi yhdistää rakennusprosesseihin, jotta jokainen julkaisu

(centralized)
ja
hajautettu
(distributed)
mallit.
Keskeisiä
käsitteitä
ovat
commitit,
joiden
avulla
tallennetaan
muutokset,
haarat
(branch)
uusien
ominaisuuksien
kehittämiselle
sekä
tagit,
joilla
merkitään
pysyviä
julkaisuversioita
tai
hyväksyttyjä
tiloja.
yhteensopivuuden
rikkomista
(breaking
changes),
pienet
lisäykset
ovat
yhteensopivia
sekä
korjaukset
parantavat
virheiden
korjauksia
ilman
uutta
toiminnallisuutta.
trunk-based
development
tai
Git
Flow,
ohjaavat
miten
haarat
ja
julkaisut
syntyvät.
on
toistettavissa
ja
dokumentoitu.
Hyvin
hallittu
versionointi
parantaa
rakennetta,
yhteisöjen
yhteistyötä
ja
ohjelmistojen
elinikäarvioita.