Наша группа делает совместную разработку, и мы недавно настроили TeamCity для запуска регрессионных тестов при нажатии на удаленное репо. В идеале наши разработчики теперь будут использовать push Gerrit, так что push может быть заблокирован TeamCity. Я ожидаю, что не все разработчики будут продвигаться через Gerrit, и решит все еще выполнить «git push» и обойти контрольные ворота.Git hook pre-push-force a Gerrit push
Я немного посмотрел на git pre-push hook ... Я вижу, что могу заблокировать push, но могу ли я отправить новую команду, которая будет запускать нажатие Gerrit?
Благодаря
Я не уверен, что хочу контролировать на этапе фиксации. Возможно, кто-то может совершить фиксацию, но не будет готов толкать, верно? У меня уже есть TeamCity, который запускается, чтобы запускаться на стадии нажатия и запускать нажатие Gerrit. Вот почему я хочу перехватить попытку идти регулярным «git push» и перенаправить команду на gerrit push. – tennis
@tennis Конечно, вы можете сделать фиксацию, которая еще не будет нажата, но все, что вы делаете, это тестирование, чтобы проверить, является ли коммит хорошим. В конце концов, почему вы хотите совершить что-то, что не работает? Таким образом, не имеет значения, планируете ли вы сейчас или позже - все коммиты прошли тестирование. –
Правильно - вот почему у меня есть регрессионное тестирование, настроенное для запуска, когда кто-то делает нажатие Gerrit. Он приостанавливает процесс нажатия, чтобы запустить регрессию, и возвращает пропуск/сбой. Если тестирование не удалось, то нажатие блокируется, и разработчик уведомляется. Я сейчас рассматриваю это, делая предварительный пуск, который просто не позволяет нажать, и напоминает разработчику, что вместо этого им нужно запустить команду Gerrit push. – tennis