버전 번호의 문제를 해결해야하는 이러한 브랜치간에 고유 한 관계가 있어야한다고 생각합니다.
해제
dev 브랜치에서 릴리스 브랜치로 프로덕션 준비 코드를 병합 한 다음 Maven 릴리스를 수행합니다 (Jenkins를 통해 또는 수동으로). 그러면 버전 번호가 다음 빌드로 자동 롤백됩니다. 따라서 코드 1.4.7-SNAPSHOT을이 분기에 병합하고 릴리스 및 잘라 내기 버전 1.4.7을 수행하면 Maven은 자동으로 작업 복사본을 1.4.8-SNAPSHOT으로 롤업합니다.
기준 업데이트 (선택 사항)
아직 트렁크 (또는 기준선 분기 등)를 릴리스의 장소로 사용하지 않는 경우 릴리스를 완료하자마자 트렁크를 업데이트해야합니다. 이는 버전 번호도 업데이트되고 있음을 의미합니다. 릴리스 브랜치를베이스 라인으로 간주하면이 단계는 문제가 될 수 있습니다.
기준선에서 개발 지점으로 상향 병합
개발 지점은 실제 생산 코드 를 최신 상태로 유지해야 합니다. 기준선 (또는 구현에 따라 릴리스 브랜치)에서 개발 브랜치까지 코드를 병합해야합니다. 버전이 1.4.8-SNAPSHOT으로 변경된 릴리스 프로세스 중에 발생한 pom 변경 사항이이 분기로 가져 오기 때문에 중요합니다.
내가 읽은 (내 조직의 프로세스뿐만 아니라) 읽은 것을 바탕으로 이것은 Maven 릴리스 및 스냅 샷을 상당히 표준적이고 효과적으로 사용하는 것으로 보이며 다른 지점에서 완전히 분리 된 버전 번호를 유지하는 대신 쉽게 말할 수 있습니다. 모든 1.4.7-SNAPSHOT 빌드는 실제로 1.4.7 릴리스의 바로 전임이었습니다. 그들은 관련이 있습니다. 이 지점들 사이에서 합병하지 않으면 SCM과 Maven 버전 관리가 잘못되고 프로덕션과 일치하지 않는 코드에 대해 개발할 위험에 처하게됩니다. , 프로덕션 등에 버그를 다시 소개합니다.