GitLab은 얼마나 자주 새로운 버전을 릴리즈할까요? 릴리즈마다 추가되는 새로운 기능은 어디서 확인할까요? 그리고 이런 릴리즈마다 매번 업그레이드를 실행해야 할까요? 이 포스트에서는 GitLab의 릴리즈 정책과 릴리즈 내용을 확인하는 방법을 알아보고 어떻게 최신 버전의 안정적인 GitLab을 유지할 수 있는지 알아보겠습니다.
GitLab의 버전 정책
GitLab은 Semantic Versioning을 사용하여 (Major).(Minor).(Patch)
의 형태로 엄격한 릴리즈 정책을 갖고 새 버전을 릴리즈합니다. Semantic Versioning을 사용하면 패치에 포함되는 내용을 분류하고 종속성 문제를 해결할 수 있는 장점이 있습니다. 예를 들어 "Firetruck"이라는 라이브러리가 있습니다. 우리는 "Ladder"라는 버전이 지정된 패키지가 필요합니다. Firetruck이 생성될 당시 Ladder는 버전 3.1.0
이라면 4.0.0
미만의 Ladder 버전 3.1.1
및 3.2.0
등이 기존 종속 소프트웨어와 호환된다는 것을 알 수 있습니다.
Patch Release
패치 버전은 어떤 주기로 릴리즈될까요? GitLab의 CHANGELOG를 보면, 짧으면 하루 만에 새로운 패치 버전을 릴리즈하기도 합니다. 패치 릴리즈에는 Semantic Versioning에 따라 새로운 기능은 추가되지 않고 BugFix와 Security 패치만을 포함하고 있습니다.
또한, GitLab의 릴리즈 정책에 따르면 이전 두 마이너 버전을 포함한 백포팅(Backporting) 패 치를 제공하고 있습니다. 예를 들어 13버전의 심각한 버그에 대한 수정을 13.2.1
에 포함하여 릴리즈하면, 13.0.x
와 13.1.x
의 형태로 이전 두 마이너 버전을 위한 백포팅 패치를 함께 릴리즈합니다. 백포팅 패치는 버그의 예상 심각도와 우선 순위 등에 따라 제공 됩니다. 보안 패치 또한 마찬가지로 이전 두 마이너 버전까지 패치를 제공합니다. 하지만 심각한 경우 예외적으로 이전 다섯 개의 마이너 버전에 대해 보안 패치를 릴리즈한 경우도 있습니다. 그렇기 때문에 긴급한 버그에 대한 수정과 보안 이슈에 대한 패치를 보장받기 위해서는 적어도 이전 두 마이너 릴리즈까지 업그레이드가 완료되어야 합니다.
Minor Release
GitLab은 매월 22일 새로운 기능과 개선을 포함한 마이너 버전을 릴리즈하여 새로운 기능을 추가하거나 개선시켜 사용자들의 니즈를 만족시키기 위해 노력하고 있습니다. 마이너 릴리즈에는 이전 버전과 호환되는 새로운 기능의 API 또는 마이너한 기능을 포함합니다. GitLab이 앞으로 제공할 마이너 버전의 새로운 기능은 Upcoming Release에서 확인 할 수 있습니다.
릴리즈에 대한 정보와 새롭게 추가된 기능은 GitLab Release 포스트를 통해 확인 할 수 있지만 흩어져 있는 내용을 찾기 어려울 수도 있습니다. 인포그랩은 필터링과 검색 기능을 추가하여 릴리즈 별 기능을 쉽게 찾아 볼 수 있도록 GitLab 버전별 기능(위 그림)을 제공하고 있습니다. 버전별로 추가된 기능을 찾거나 또는 라이센스를 필터링하여 필요로하는 기능을 검색할 수 있어 업그레이드를 실행해야 할지 판단하는데 보조적으로 사용될 수 있습니다. 또한 10월에 진행된 인포그랩의 웨비나에서는 13.x
버전에서 새롭게 릴리즈된 기능들을 소개하는 시간을 갖았습니다. 뿐만 아니라, 앞으로 진행될 인포그랩의 웨비나에서도 매달 새롭게 추가되는 기능을 소개하는 코너를 진행할 예정입니다.
Major Release
GitLab은 매년 5월 22일에 메이저 버전 릴리즈 스케줄을 갖고 있습니다. 메이저 버전에는 중요한 변경 사항 또는 이전 버전과 호환되지 않는 API 변경 사항이 포함됩니다. 이전 버전과 호환되지 않는 변경과 마이그레이션이 메이저 버전에 포함되어 있기 때문에 메이저 버전을 업그레이드 하려면 많은 주의가 필요합니다.
GitLab은 메이저 버전 간의 업그레이드를 보장하지 않습니다. GitLab 버전 간의 업그레이드 또는 다운그레이드의 경우 전문 컨설팅을 통해 발생할 수 있는 리스크를 줄일 수 있습니다. 메이저 버전에 대한 업그레이드는 여러 검증 단계로 확인한 후에 업그레이드를 진행할 것을 권장합니다.