2017-10-11 11 views
1

을 얻을 수 없습니다 :인 TeamCity는 내가 build.gradle 스크립트가의 Bitbucket 태그

buildscript { 
    repositories { 
     //some repo 

     dependencies { 
      classpath "com.palantir.gradle.gitversion:gradle-git-version:0.8.0" 
     } 
    } 
} 

apply plugin: 'com.palantir.git-version' 
version contructSemVer() 

def contructSemVer() { 
    try { 
     def details = versionDetails() 
     def semVer = details.lastTag + "-" + details.branchName + "." + details.gitHash 
    } 
    catch (ignored) { 
     return null; 
    } 
} 

gradle-git-version 플러그인 문서 here 다음을, 나는 버전에 대한 semVer 문자열을 구성. 그런 다음 내 BitBucket에 0.1.0 (시험 학년)이라는 태그를 붙였습니다. 내 인 IntelliJ에서 로컬 gradle properties | findstr version를 호출하면

, 내가 올바른 출력을 가지고 : semVer의 그러나 version: 0.1.0-test-gradle.52cb23e4a0

을, 인 TeamCity에 같은 일을 실행하는 첫 번째 부분 (details.lastTag는) 내가 가진 버전은 -test-gradle.52cb23e4a0입니다 누락 TeamCity가 BitBucket 태그를 가져올 수 없지만 픽업 분기 이름과 최신 커밋 SHA를 할 수있는 것으로 보입니다.

TeamCity에서 놓친 설정이 있습니까? 감사합니다 그리고 당신은 다른 인 TeamCity 설정에서 좀 더 시도 후

+0

나는이 당신 인 TeamCity 설정에 따라 그들을 보지 않고 이야기하기 어려운 추측에 더 빛을 발산하기위한 @Vampire합니다. 나는 그 태그가 당신이 만든 클론에서 사용할 수 없으므로 그 플러그인으로 볼 수 없다고 생각한다. – Vampire

+0

'Edit VCS Root' 설정에서'Use tags as branches' 박스를 체크했습니다. 또한'Branch Specification'에서'+ : refs/heads/*'를 넣어서 모든 브랜치를 모니터해야합니다. 또한 태그는 TeamCity가 구축중인 ** test-gradle ** 분기에 표시됩니다. – hydradon

+0

Git과 TeamCity에 대한 경험이 없지만 나에 대한 확인란의 설명은 해당 입력 필드에서 태그 참조를 사용할 수 있음을 의미합니다. 태그가 분기되거나 반드시 에이전트에서 가져온 것은 아닙니다. – Vampire

답변

0

더 많은 정보가 필요한 경우 알려, 나는 details.lastTag를 사용하는 그래서 그 대신 최신 망할 놈의 태그

def contructSemVer() { 
    try { 
     def details = versionDetails() 
     def semVer = getVersionFromTag() + "-" + details.branchName + "." + details.gitHash 
    } 
    catch (ignored) { 
     return null; 
    } 
} 

def getVersionFromTag() { 
    def stdout = new ByteArrayOutputStream() 
    exec { 
     commandLine 'git', 'describe', '--abbrev=0' 
     standardOutput = stdout 
    } 
    return stdout.toString().trim() 
} 

를 얻기 위해 다른 방법을 시도, 내가 사용하고 있습니다 그것을 검색하는 내 자신의 방법. 현재 TeamCity 빌드에서 올바르게 표시됩니다.

덕분에 많은 인 TeamCity 설정