시맨틱 버전 관리: 그것이 무엇인지, 아닌지, 왜 필요한지

게시 됨: 2019-05-20

사용하는 대부분의 소프트웨어는 일반적으로 관련 버전 번호로 식별되는 새 버전을 자주 출시합니다. 이 시스템을 '시맨틱 버전 관리'라고 하며 이를 통해 개발 진행 상황을 추적할 수 있습니다. 게다가 WordPress로 작업하면 좋은 의미 체계 버전 관리의 이점을 확실히 누릴 수 있습니다.

이 기사에서는 의미 체계 버전 관리 시스템과 작동 방식에 대해 간략히 소개합니다. 그런 다음 누가 그것을 사용하여 이익을 얻을 수 있는지에 대해 이야기하고 올바르게 사용할 수 있도록 몇 가지 팁을 제공합니다.

숫자로 이야기합시다!

시맨틱 버전 관리란

WordPress.org의 다운로드 페이지로 이동하면 다운로드 중인 콘텐츠 관리 시스템(CMS) 버전이 표시됩니다.

워드프레스 다운로드 페이지.

이 번호를 결정하는 데 사용되는 시스템을 '버전 관리'라고 합니다. 더 구체적으로 말하면, 릴리스가 마침표로 구분된 3개의 숫자로 구분되는 의미론적 버전 관리의 예를 보고 있습니다. 각 값이 의미하는 바를 검토해 보겠습니다.

  • API 변경 사항과 상관 관계가 있는 주요 릴리스 버전입니다.
  • 소프트웨어에 대한 사소한 업데이트로, 주요 업데이트를 보증할 만큼 중요하지 않습니다.
  • 패치 또는 버그 수정.

글을 쓰는 시점에서 우리는 WordPress 버전 5.1.1을 사용하고 있습니다. 버전 5.0.0은 2018년 12월 6일에 출시되었습니다. 그 이후로 다음과 같은 순서로 5개의 마이너 패치(최종 숫자 증가)와 1개의 마이너 릴리스가 있었습니다.

  1. 5.0.1
  2. 5.0.2
  3. 5.0.3
  4. 5.0.4
  5. 5.1
  6. 5.1.1

보시다시피 패치 번호는 마이너 업데이트가 있을 때마다 재설정됩니다. WordPress의 경우 전통적으로 약 4개월마다 발생하는 주요 릴리스가 있는 경우에도 동일하게 적용됩니다.

시맨틱 버전 관리의 요점은 모든 변경 사항과 진행 상황을 추적할 수 있도록 하는 것입니다. 뿐만 아니라 최종 사용자이고 최신 릴리스를 유지하는 경우 버전 번호를 통해 업데이트가 정말 중요한 시기를 알 수 있습니다. 예를 들어, 버그 패치 한두 개를 건너뛸 수 있지만 부 또는 주요 릴리스가 있을 때마다 업데이트해야 합니다.

업데이트할 가치가 있는지 확실하지 않은 경우 모든 릴리스와 함께 제공되는 변경 로그를 확인하십시오. 가치 있는 모든 개발자는 각 릴리스의 새로운 기능에 대한 서면 기록을 내놓을 것입니다.

전반적으로 의미론적 버전 관리는 매우 간단하며 소프트웨어 개발 이외의 많은 상황에서 편리합니다. 그것들이 무엇인지 이야기해 봅시다.

시맨틱 버전 관리의 이점을 누릴 수 있는 사람

일반적으로 버전 관리 시스템을 사용하는 것은 개발자입니다. WordPress의 경우 가장 확실한 예는 코어 자체에 대한 업데이트입니다. 그러나 플러그인 및 테마 개발자도 의미론적 버전 관리를 사용하지만 숫자는 찾기 어려운 경우가 많습니다. 예를 들어 WordPress.org에서 플러그인 페이지를 확인하면 개발 탭에서 릴리스 및 변경 로그에 대한 정보를 찾을 수 있습니다.

변경 로그의 예.

마찬가지로 연결된 WordPress.org 페이지에서 테마 개발에 대한 정보를 찾을 수 있습니다. 그러나 이러한 경우 페이지 하단의 개발 로그 링크를 클릭해야 합니다.

개발 로그 목록입니다.

간단히 말해서 코드를 포함하는 거의 모든 유형의 프로젝트에 의미 체계 버전 관리를 사용할 수 있습니다. 그러나 간단한 개발 이외의 응용 프로그램도 있습니다. 예를 들어 디자인 프로젝트에 버전 관리를 적용할 수 있습니다. 여기에서 주요 시각적 변경, 새로운 요소 추가 또는 사소한 조정에 대한 버전 번호를 늘릴 수 있습니다. 패치가 진행되는 한 작은 시각적 업데이트 또는 수정을 위해 패치를 예약할 수 있습니다.

그러나 시맨틱 버전 관리는 이 도시에서 가장 인기 있는 게임일 수 있지만 사용할 수 있는 유일한 시스템은 아닙니다. 예를 들어 Chrome 브라우저는 네 섹션 버전 시스템인 major.minor.build.patch 를 사용 합니다.

Ubuntu와 같은 다른 프로젝트는 날짜를 중심으로 구축된 시스템을 사용합니다. 예를 들어 Ubuntu는 현재 버전 19.04에 있으며, 짐작할 수 있듯이 2019년 4월에 출시되었습니다.

전반적으로 모든 종류의 프로젝트에 완벽한 단일 버전 관리 시스템은 없습니다. 그러나 시맨틱 버전 관리는 모든 종류의 소프트웨어 개발에서 작업하는 경우 훌륭한 옵션입니다. 또한 아직 어떤 유형의 버전 관리 프로토콜도 사용하지 않는 경우 좋은 소개입니다.

시맨틱 버전 관리를 위한 3가지 모범 사례

지금쯤이면 시맨틱 버전 관리가 어떻게 작동하는지 이미 알고 있을 것입니다. 그러나 올바른 방법으로 사용할 수 있도록 몇 가지 팁을 살펴보겠습니다.

1. 버전 1.0을 바로 시작하지 마십시오.

어느 시점에서 아직 버전 1.0에 도달하지 않은 소프트웨어를 사용했을 것입니다. 사용자는 버전 1.0.0이 비교적 안정적이고 버그가 없을 것으로 기대하기 때문에 이는 완전히 정상입니다. 그러나 소프트웨어가 여전히 완전히 사용 가능하면서도 그 수치에 도달하는 데 오랜 시간이 걸리는 상황으로 이어집니다.

예를 들어 인기 있는 PC 게임 Dwarf Fortress를 살펴보십시오. 약 15년 ​​동안 개발 중이며 대부분의 주요 게임보다 더 많은 기능을 포함하고 있음에도 불구하고 여전히 버전 0.44.12입니다.

난쟁이 요새 게임.

이것으로 극단적으로 갈 수는 있지만 버전 1.0.0으로 바로 시작하지 않는 것이 합리적입니다. 이를 통해 소프트웨어를 베타 테스트하고 사용자 기대치를 완화할 수 있습니다.

내부적으로는 버전 0.1.0부터 시작해야 합니다. 그러나 대부분의 프로젝트는 이 버전을 공개하지 않고 대신 개발이 좀 더 진행될 때까지 기다립니다. 하지만 그 동안에는 내부 테스트를 위해 매우 제한된 알파 버전을 사용할 수 있으며 이는 모든 프로젝트의 건전한 개발의 핵심입니다.

2. 각 새 버전의 특정 변경 사항 설명

최종 사용자로서 자신을 발견할 수 있는 가장 성가신 상황 중 하나는 무엇을 하는지도 모르는 상태에서 수많은 업데이트를 받는 것입니다. 우리는 대부분의 사람들이 변경 로그를 읽지 않는다는 것을 알고 있습니다. 하지만 업데이트를 내려면 – 그것이 사소한 패치일지라도 – 문서화해야 합니다.

변경 로그의 예.

이름에서 알 수 있듯이 변경 로그는 각 릴리스의 새로운 기능에 대한 간단한 분석입니다. 일부 개발자는 모든 단일 변경 사항을 설명하기 위해 긴 업데이트를 작성하며 귀하가 그들 중 하나라면 더 많은 권한을 얻을 수 있습니다.

솔직히 말해서, 우리는 일반적으로 새로운 기능에 대한 간단하고 간결한 목록으로 만족합니다. 변경 로그를 작성하는 것은 간단하고 오래 걸리지 않을 것이므로 냉정하고 의무를 게을리하지 마십시오!

3. 각 릴리스에 대한 사용자 피드백 수집

완성된 프로젝트가 어떤 모습일지 꽤 잘 알고 있을 것입니다. 그러나 이것이 사용자나 나머지 팀의 피드백을 없앨 수 있다는 의미는 아닙니다.

이상적으로는 작은 패치와 버그 수정을 제외하고 내놓은 각 릴리스에 대해 일정 수준의 피드백을 얻을 수 있습니다. 이 프로세스의 목표는 사용자에게 문제가 발생하거나 프로젝트의 방향에 문제가 있는지 알려주는 것입니다.

실행 중인 이 프로세스의 가장 쉬운 예는 진행 중인 웹사이트의 최신 버전을 클라이언트와 공유하는 것입니다. 대부분의 경우 고객은 일정 수준의 피드백을 받게 되며, 이를 향후 릴리스에 통합할 수 있습니다.

하지만 피드백을 듣는 것이 중요하지만 경우에 따라 사용자보다 더 잘 알 수 있다는 점을 명심하십시오. 그러나 이것이 당신이 그것들을 무시해야 한다는 것을 의미하지는 않지만 때로는 당신의 직감이 옳을 수도 있습니다.

결론

시맨틱 버전 관리는 매우 간단한 시스템입니다. 몇 개의 숫자만으로 프로젝트 개발 진행 상황에 대한 많은 정보를 전달할 수 있고, 중요한 새로운 업데이트가 있을 때 사용자에게 알리고, 일반적으로 모든 것을 정리할 수 있습니다.

의미 체계 버전 관리에 대해 염두에 두어야 할 세 가지 모범 사례를 요약해 보겠습니다.

  1. 첫 번째 버전으로 시작하지 마십시오.
  2. 각각의 새 버전에 대한 구체적인 변경 사항을 설명하십시오.
  3. 각 릴리스에 대한 사용자 피드백을 수집합니다.

시맨틱 버전 관리를 사용하는 방법에 대해 질문이 있습니까? 아래 댓글 섹션에서 문의하세요!

Fatmawati achmad zaenuri / shutterstock.com의 기사 축소판 이미지