Как правильно выстроить разработку и деплой сайта?
Разработка и контроль версий
Читаем про git flow, восхищаемся и интегрируем.
Читаем PSR-ы, восхищаемся и интегрируем. Не помешает: Попросили проверить код, на что смотреть нужно?
Читаем про vagrant. На базе вот этого вот строим dev окружение. Можете поиграть с https://puphpet.com/. До docker все же стоит дорасти.
Постигаем Phpstorm, и радуемся жизни.
Можете посмотреть так же: https://github.com/index0h/php-conventionsТестирование
Читаем про phpunit, восхищаемся и интегрируем.Документирование
Рекомендую взять за правило: документирование алгоритмов нужно только в крайнем случае, когда используются некие хаки. Говнокод лучше переписать на что-то очевидное, чем объяснять, какая муха вас укусила и где.
Что касается docblock-ов для помощи ide - это отличная идея.Деплой
Самый простой и надежный способ: root у вашего nginx/apache указывать как ссылку на каталог текущей прод версии. При релизе - заливать код с помощью rsync в новый каталог, а далее менять ссылку на новый релиз.
Например у вас каталог с версиями кода:
production -> v1.0.2 - текущая версия
v1.0.1 - старый релиз
v1.0.2 - текущая версия
v1.0.3 - новый релиз
Когда подготовка завершена - вы только меняете симлинк production на v1.0.3. Если что не так - можно быстро откатиться на предыдущую версию.
Сайт нужно засунуть в Kubernetes контейнеры, и когда прилетает на CI сервер оповещение о новом коммите то запустить деплой.
Надо гуглить laravel kubernetes ci 
Выбери какой ci ты хочешь, например gitlab имеет бесплатный ci и git хостинг или сам создашь свой на gitea с jenkins ci! 
Вариантов куча, но я считаю что от веб серверов в привычном понимании надо отказыватся и все ставить в kubernetes