2013-11-26 6 views
0

빌드가 변경되지 않는 경우에만 하나의 카탈로그를 이슈에서 제외하고 싶습니다. 가능한가?빌드가 변경되지 않은 경우 TeamCity의 디렉토리 제외

내 아티팩트는 1GB이지만 하나의 디렉토리는 25MB 밖에 없습니다. 내 빌드의 절반 이상이 변경되지 않았습니다. teamcity screenshot 그리고 이것은 내 프로젝트 중 하나입니다. 나는 그것을 모두 저장할 수있는 충분한 공간이 없다.

나는이 같은 시도 :

Binaries=>Binaries.zip 
-:Binaries/DirToExclude/*/.* 

을하지만 지금 부탁 해요있는 :(

+0

A)이 빌드 구성이 실행 중이고 실제로 변경 사항이없는 경우 아티팩트를 새로 저장하는 문제입니다. B) 변경 사항이 본질적으로 격리 되어도 계속 저장되는 1GB의 가끔 변경되는 아티팩트가 있습니다. "다른"25MB? 나는 변경 사항이있을 때만이 빌드를 실행하고, 아마도 1GB 디렉토리를 훨씬 덜 자주 실행되는 다른 빌드 구성에 넣을 것입니다. – Michael12345

답변

1

이있는 경우 검사 끝에 빌드 단계 추가 조건 없이도 작동하지 않습니다 변경 사항이 없으면 이슈를 삭제하고 그렇지 않으면 그대로 두십시오. TC8에서 빌드 단계의 실행 정책을 Always, even if build stop command was issued으로 설정할 수 있습니다.

TeamCity REST API를 사용하여 르 변경 ft. 예를 들어 :

curl -u /httpAuth/app/rest/changes?build=id:%teamcity.build.id% 

는 다음과 같이 반환 할 수 없습니다 :

<changes count="3"> 
    <change href="/httpAuth/app/rest/changes/id:217404" id="217404" version="b6b97a0d7789d97df6df908ab582ebb723235f43" webLink="http://teamcity.my-domain.com/viewModification.html?modId=217404&personal=false"/> 
    <change href="/httpAuth/app/rest/changes/id:217403" id="217403" version="064ecef5552ec2fb7875d7c26fe54cdf94b67bec" webLink="http://teamcity.my-domain.com/viewModification.html?modId=217403&personal=false"/> 
    <change href="/httpAuth/app/rest/changes/id:217402" id="217402" version="9bc3a34c952059bbfc7bebeb79ba5a3c894ef555" webLink="http://teamcity.my-domain.com/viewModification.html?modId=217402&personal=false"/> 
</changes> 

을하지만 숫자가 같은 사용하는 경우 당신은 컬, GREP 함께 넥타이 얻을 awk가 수 :

curl -u %teamcity.auth.userId%:%teamcity.auth.password% %teamcity.serverUrl%/httpAuth/app/rest/changes?build=%teamcity.build.id% | grep "changes" | awk -F"\"" '{print $8}' 

어떤 위의 경우 3을 반환하지만 변경 사항이없는 경우 0을 반환합니다.

+0

정확하게 원하는 것은 아니지만 많이 도움이됩니다. – sebaszw

+0

동의합니다. 그것은 이상적이지 못하지만, 빌드가 변경된 경우에만 게시 아티팩트를 수행하는 것에 대해서는 알지 못합니다. – Welsh