Николас Дин : На самом деле плохая идея написать хэнд после фиксации для развертывания.
Aar : И каковы ваши причины?Это не так плохо, чтобы проверить свой сайт, что вы совершили?Каковы ваши аргументы ????
Я должен согласиться с Николас Дин .Проблема в том, что пока вы выполняете развертывание с помощью ловушки post-commit, ваш разработчик ждет завершения коммита.Если на развертывание у вас уходит всего 30 секунд, то это 30 секунд, в течение которых разработчик ждет, пока ваш хук после фиксации завершится.
Как вы думаете, что произойдет, если каждый раз, когда разработчик фиксирует файл,они должны ждать 30 секунд, чтобы завершить этот коммит?Как вы думаете, что они подумают о Subversion, процессе разработки в целом, и о вас как о CM?Выполнение развертывания в качестве ловушки после фиксации не является движением, улучшающим карьеру.
Я предлагаю вам взглянуть на Дженкинс .Jenkins - это то, что называется Continuous Build System .Вы можете настроить Jenkins, чтобы каждый раз, когда разработчик делал коммит, Jenkins выполнял build .Таким образом, вы не привязываете Subversion во время развертывания.
Приятно то, что Jenkins может выполнять и ваши развертывания.И, если развертывание не удастся, он может отправить электронное письмо разработчику, который сделал коммит.Дженкинс может даже провести несколько тестов для вас.Например, возможно, ваше развертывание сработало, но измененный код приводит к ошибке.Это может быть приятно обнаружить.И вы можете сохранить свой развертываемый артефакт в Jenkins на тот случай, если вы захотите проверить его перед развертыванием.Если тестирование работает, вы можете вернуться к этой сборке в Jenkins, щелкнуть кнопку и выполнить развертывание.
В качестве еще одного бонуса Jenkins позволяет вашим разработчикам просматривать историю всех изменений, сборок иразвертывания.Он также может показать историю всех тестирований после начала тестирования.Если вы используете систему отслеживания проблем, такую как Jira, Bugzilla, MantisBF, Track или любое другое популярное, Jenkins может интегрироваться с этими системами, чтобы помочь вам отследить, какая из проблем была решена.
Даже есливам не нужно ничего компилировать (скажем, вся ваша веб-страница - только файлы PHP и JavaScripts), вы можете использовать Jenkins только для развертываний и тестирования и по-прежнему получать от этого большую выгоду.
Jenkins - этоотличный программный продукт, который действительно может улучшить ваш процесс разработки и справиться с вашей проблемой, не замедляя Subversion.Кроме того, Jenkins настолько прост в использовании, что, вероятно, он быстрее использует Jenkins, чем в любом случае выясняет, как сделать то, что вы хотите, в ловушке после фиксации.