Исключить каталог в TeamCity, когда в сборке нет изменений

Я хочу исключить один каталог из артефактов, но только тогда, когда в сборке нет изменений. Является ли это возможным?

Мои артефакты имеют 1 ГБ, но без этого одного каталога только 25 МБ. Более половины моих сборок не имеют таких изменений:скриншот teamcityИ это только один из моих проектов. У меня недостаточно места для хранения всего этого.

Я попробовал что-то вроде этого:

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

но это не работает даже без условия, о котором я сейчас спрашиваю:(

1 ответ

В конце добавьте шаг сборки, который проверяет, есть ли какие-либо изменения. Если изменений нет, удалите артефакт, иначе оставьте его в покое. Вы можете с TC8 установить Политику выполнения шага сборки на Always, even if build stop command was issued,

Вы можете использовать TeamCity REST API, чтобы определить, остались ли какие-либо изменения. Например:

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>

Но вы можете связать его с curl, 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,

Другие вопросы по тегам