Как заставить бот XCode собираться в определенное время дня, если и только если были новые коммиты?

Проблема:

В настоящее время я периодически запускаю бота XCode в определенное время дня. Однако я хочу, чтобы бот создавал новую сборку только в том случае, если в репозитории есть какие-либо новые коммиты. Каждый день в это конкретное время он должен проверять наличие новых коммитов. Если были новые коммиты, продолжайте процесс сборки, иначе прервите его. Зачем запускать новую сборку и инкрементировать по номеру версии и т.д., если изменений не было, верно?

Что я пробовал?

Я просмотрел видео Continuous Integration with XCode 6 WWDC. В нем упоминается, что мы можем либо запускать бота периодически, либо запускать его после каждого нового коммита. Я как бы хочу совместить два способа. Ничего не нашел по этому поводу.

Возможно ли решение?

Я видел, что есть сценарии предварительной интеграции, которые можно запустить. Один из способов, которым я думал, заключался в том, чтобы моя логика проверяла, есть ли новая фиксация или нет в сценарии оболочки перед интеграцией. Если их не было, прервите сборку бота XCode. Как я могу прервать сборку из скрипта? Если есть какой-либо другой способ, которым вы знаете, пожалуйста, ответьте / прокомментируйте.


person Shobhit Puri    schedule 08.04.2015    source источник


Ответы (1)


Не совсем ответ, но узнал кое-что, что может помочь. Что ж, на данный момент, похоже, ничего нельзя сделать, чтобы остановить запущенного бота. Однако вы можете не увеличивать номер сборки, если с последнего раза не было новых коммитов. В зависимости от того, что вы используете, тестировщики/пользователи не будут каждый раз получать новую сборку/уведомление, пока не появятся новые коммиты.

Вы можете указать сценарии для запуска в вашем Build Phases. Вы можете поместить скрипт после опции Copy Bundle Resources, в котором вы делаете git diff и смотрите, есть ли какие-либо изменения. Если изменений нет, просто выйдите:

# do not assign the new build number if there is no changes
DIFF=`git diff`
if [[ $DIFF == "" ]]; then exit 0; fi

Источник: Как автоматически настроить номер версии пакета в Xcode

person Shobhit Puri    schedule 15.05.2015