Nodea — logo

Wersjonowanie

Wersjonowanie to praktyka systematycznego oznaczania i śledzenia kolejnych wersji kodu, plików, dokumentów czy interfejsów. Pozwala jednoznacznie określić, z jaką wersją mamy do czynienia, co się między nimi zmieniło oraz w razie potrzeby wrócić do wcześniejszego, sprawdzonego stanu. Jest jednym z fundamentów uporządkowanej pracy zespołów programistycznych.

Systemy kontroli wersji

W wytwarzaniu oprogramowania wersjonowanie realizują systemy kontroli wersji, z których najpopularniejszym jest Git. Zapisują one historię zmian w postaci kolejnych rewizji, umożliwiają pracę wielu osób nad tym samym projektem bez nadpisywania swoich zmian, tworzenie równoległych gałęzi rozwoju oraz łączenie ich z powrotem. Każda zmiana jest opisana i przypisana do autora, dzięki czemu łatwo prześledzić, kiedy i dlaczego coś zostało zmodyfikowane.

Wersjonowanie wydań i API

Oprócz historii kodu wersjonuje się także wydania i interfejsy. Powszechnie stosuje się wersjonowanie semantyczne w formacie MAJOR.MINOR.PATCH, w którym numer sam informuje o charakterze zmian: łamiących zgodność, dodających funkcje lub tylko poprawiających błędy. W przypadku API wersjonowanie pozwala wprowadzać nowe możliwości bez psucia integracji już korzystających ze starszej wersji. Wersjonowanie jest też ściśle powiązane z procesami CI/CD, w których automatyzacja buduje, testuje i wdraża konkretne, jednoznacznie oznaczone wersje aplikacji lub frameworka. Uporządkowane wersjonowanie ogranicza ryzyko, ułatwia wycofywanie wadliwych wdrożeń i czyni rozwój projektu przewidywalnym. Konsekwentne stosowanie tych samych zasad wersjonowania w całym zespole i całym cyklu życia projektu jest równie ważne jak sam wybór schematu, bo dopiero wtedy numery wersji stają się wiarygodnym źródłem informacji.

Powiązane pojęcia

Najczęstsze pytania

Co oznaczają numery w wersjonowaniu semantycznym?

W schemacie MAJOR.MINOR.PATCH pierwszy numer rośnie przy zmianach łamiących zgodność, drugi przy nowych funkcjach zgodnych wstecz, a trzeci przy poprawkach błędów. Dzięki temu z samego numeru można wnioskować o charakterze zmian.