2016-06-03 2 views
0

У меня следующая конфигурация Jenkins автоматически публиковать на TestFlight: ОпросДженкинс, Опрос СКМ обновить хэш вручную

1- SCM на BitBucket testflight ветви
2- версия шишка (с использованием FastLane)
3- мерзавец добавить & совершает
4- мерзавца нажимной testflight
5- сборок (с использованием FastLane)
6- публиковать testflight (с использованием FastLane)

этим вопросом, это следующее, после того, как я выполняю удар, Дженкинс обнаруживает новую ветку и снова начинает строительство, рождая смертельный бесконечный цикл строительства. Я хотел бы вручную установить новый Hash на опрос SCM после нажатия. ... Любой другой подход избежать этого бесконечного цикла приветствуется^_^

+1

Как я знаю, SCM Опрос может создать кронтаб -строчный интервал, такой как 'H/3 * * *', поэтому он не работает все время. Другие триггеры, такие как Gerrit Trigger, которые я использую, могут фильтровать ветку и репо. Он также предоставляет такие переменные, как сообщение журнала фиксации, ревизия, коммиттер, автор и т. Д., Которые могут быть использованы для завершения задания в вашем случае. – ElpieKay

ответ

0

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

REMOTE=$(git ls-remote origin refs/heads/Feature/fastlane-jenkins | cut -f 1) 
LOCAL=$(git rev-parse Feature/fastlane-jenkins) 
if [ "$REMOTE" == "$LOCAL" ]; then 
    echo "local branch already up to date, nothing need" 
    exit 
else 
    echo "New commit found, performing release" 
    git checkout Feature/fastlane-jenkins 
    git pull origin Feature/fastlane-jenkins 
    git push --set-upstream origin Feature/fastlane-jenkins 
    /usr/local/bin/fastlane ios tf_all 
fi 
Смежные вопросы