Я пытаюсь настроить рабочий процесс непрерывной интеграции и развертывания TeamCity с приложением Laravel, используя Git для контроля версий, но способ, которым мне это удалось сделать, кажется хакерским.
Сейчас у меня есть сборка TeamCity с триггером перехода в ветку разработки. Я установил три события сборки, которые отправляют ssh на промежуточный сервер, затем git извлекают код, запускают artisan migrate, затем запускают тесты phpunit.
В каждом событии сборки он должен отправить ssh на промежуточный сервер, cd в каталог, а затем выполнить действие, которое кажется неправильным, кроме того, если что-то пойдет не так, например, сбой тестов phpunit, нет способа легко выполнить откат. Итак, что именно является правильным, я пробовал исследовать, но не могу найти ничего, что действительно объясняло бы, как вы бы использовали git для развертывания живого кода, вы бы даже использовали git для развертывания?