2017-11-01 11 views
0

GitFlow 저장소가있는 VSTS에 git 저장소를 구성했습니다.마스터에서 Gitversion VSTS 증가 릴리스 번호를 만드는 방법은 무엇입니까?

나는 dotnet 핵심 프로젝트가있는 마스터 브랜치와 'Release/1.0.0'이라는 릴리스 브랜치를 가지고있다. 끌어 오기 요청을 만들고 릴리스/1.0.0 분기를 다시 마스터로 병합 할 때 버전 번호가 1.0.0으로 증가하지 않습니다. 대신 버전 번호를 0.1.0 (기본 폴백)에서 0.1.1로 늘립니다.

빌드 로그 :

Calculating base versions 
Fallback base version: 0.1.0 with commit count source xx 
Git tag '0.1.0': 0.1.0 with commit count source xx 
Base version used: Git tag '0.1.0': 0.1.0 with commit count source xx 

그러나, 커밋 레이블은 분기 출시/1.0.0 마스터 병합입니다. 병합되는 분기는 1.0.0으로 태그가 지정됩니다.

GitVersion 기본 설정을 사용하고 있습니다. GitVersion VSTS 작업을 사용하고 있습니다.

이것은 gitversion 구성입니다 :

assembly-versioning-scheme: MajorMinorPatch 
mode: ContinuousDelivery 
branches: {} 
ignore: 
    sha: [] 

내가 자동으로 통합되고있는의 versionNumber에 마스터 브랜치의 버전을 설정하려면 어떻게해야합니까?

업데이트 : "잘못된 것"이 무엇인지 알았습니다.

릴리스가 끌어 오기 요청으로 병합되었습니다. 그러면 Merge PR ####에 대한 커밋 메시지가 설정됩니다. 그러나 gitversion의 MergeMessageBaseVersionStrategy는이를 처리 할 수 ​​없습니다. 내가 정기적으로 병합으로 릴리스를 병합하면 버전 번호가 증가합니다.

+0

PR 유효성 검사를 위해 빌드가 트리거됩니까? 그리고 GitVersion.yml 파일과 빌드 정의에서 GitVersion 태스크 설정을 할 수 있습니까? –

+0

마스터 브랜치는 PR을 완료 한 후에 만 ​​코드를 추가 할 수있는 정책이 있습니다. 완료 후 빌드가 트리거됩니다. 나는 gitversion 설정을 추가했다. –

답변

0

PR 빌드 유효성 검사 대신 GitVersion 작업을 master 분기 (또는 PR 완료 후 대기열 빌드)의 CI 빌드에 추가해야합니다. Gitversion (예 : AssemblyInfo.cs 파일의 버전과) master 지점에서 버전을 감지 할 수 있도록release/1.0.0 지점 정말 master로 병합하기 전에 PR 빌드 검증 이후

를 트리거됩니다.

는 CI 빌드 (release/1.0.0 분기 master 지점에 합병)에서 GitVersion 작업을 추가하면, Gitversion는 release/1.0.0 지점에서 버전 major.minor.patch = 1.0.0을 감지합니다.