Я использую Laravel 5.6.
Процесс развертывания моего текущего кода выглядит следующим образом
Моя проблема
у меня есть два варианта
Существуют ли какие-либо другие передовые методы решения этой проблемы, чтобы мы могли избежать таких ошибок.






Когда я объединяю его с мастером и загружаю на рабочий сервер, мне нужно вручную запустить команду обновления композитора.
Нет, ты не знаешь. Вы должны бежать только
> composer install
на рабочем сервере, чтобы убедиться, что зависимости композиторов обновлены с учетом изменений.
Чтобы избежать этой проблемы, лучше всего развертывать каждый раз в новой папке. Затем, когда развертывание завершено, вы переключаете папку.
Это можно сделать с помощью символической ссылки или аналогичной:
deploys
1551270000
1551280000
live > deploys/1551280000
Затем сделайте новое развертывание (1551290000):
deploys
1551270000
1551280000
1551290000
live > deploys/1551280000
Затем, когда все будет готово, измените символическую ссылку:
deploys
1551270000
1551280000
1551290000
live > deploys/1551290000
Это то, что делают Капистрано и другие. Я бы рекомендовал использовать такой инструмент, а не пытаться написать свой собственный — эта проблема уже решена.
Вы никогда не должны обновляться на рабочем сервере, просто установите композитор. Вы можете подключить это к своему действию слияния git в зависимости от того, как вы развертываете его в рабочей среде (CI/CD, скрипты или все вручную?). Вот документация для git hooks: https://git-scm.com/docs/githooks это для git-хуков после слияния: https://git-scm.com/docs/gitooks#_post_merge