Как отменить коммиты из git при сбое сборки CI в VSTS

Я пытаюсь создать конвейер CI/CD для приложения .NET Core. Всякий раз, когда мы фиксируем изменение из локального, оно синхронизируется с удаленным репозиторием, а затем запускается процесс CI/CD в VSTS. Если по какой-то причине сборка не удалась (скажем, тест не прошел), не следует ли отменить изменения обратно из репозитория git? Пожалуйста, дайте мне знать, если есть способ сделать это


person vignesh srinivasan    schedule 15.08.2017    source источник
comment
Если вы хотите отменить фиксацию на это время, вы можете использовать git reset --hard HEAD~, чтобы сбросить ветку обратно к предыдущей фиксации, а затем вы можете использовать git push -f, чтобы принудительно отправить в VSTS. В долгосрочной перспективе вы можете использовать запрос на извлечение, чтобы проверить, могут ли изменения быть успешно собраны, прежде чем вносить изменения в ветку (как сказал Даниэль).   -  person Marina Liu    schedule 16.08.2017
comment
Марина спасибо за ответ, как можно добавить эту команду в конец неудавшейся сборки и перезапустить заново›?   -  person Rıfat Erdem Sahin    schedule 28.10.2017


Ответы (1)


Нет, это не должно происходить автоматически. Ваш процесс нуждается в некоторой модернизации для поддержки этого рабочего процесса.

Используйте запросы на вытягивание с политикой ветки в вашей целевой ветке для слияния. Политика филиала может обеспечить выполнение требования CI.

Вы создадите ветку, разработаете в ветке, интегрируете изменения в целевую ветку в свою ветку, затем отправите свою ветку на удаленный сервер и откроете PR. PR поставит сборку в очередь и завершит ее, если ваша сборка завершится ошибкой. Затем вы можете внести изменения, чтобы устранить проблему в своей ветке, и повторить процесс.

person Daniel Mann    schedule 15.08.2017
comment
Большое спасибо Даниил. Но как насчет ветвей функций? Есть ли способ предотвратить регистрацию ветвей функций, когда разработчик пытается зафиксировать плохой код или код с неудачными тестами :) - person vignesh srinivasan; 15.08.2017
comment
Поставьте на него политику ветвления. - person Daniel Mann; 15.08.2017
comment
он не просит делать пул-реквесты. PR может стать кошмаром автоматизации - person Rıfat Erdem Sahin; 28.10.2017
comment
@RıfatErdemSahin Он попросил способ предотвратить слияние плохих изменений в ветку. Это точный вариант использования запросов на вытягивание и политик ветвей. - person Daniel Mann; 28.10.2017
comment
@RıfatErdemSahin Мне бы хотелось получить более подробное объяснение того, какую автоматизацию вы выполняете, которой мешают запросы на вытягивание. Я работал со многими компаниями и ни разу не слышал, чтобы кто-нибудь говорил о том, что запросы на вытягивание вызывают проблемы с автоматизацией. - person Daniel Mann; 29.10.2017
comment
Pr - это присмотр за разработчиками, зачем использовать людей для обеспечения качества, когда мы можем автоматизировать с помощью тестов. Зачем все усложнять, сосредоточьтесь на разработке на основе ствола. - person Rıfat Erdem Sahin; 29.10.2017