А для чего нужны deploy.php и deploy.sh?
Я для похожих проектов шаги для deploy помещаю именно в CI (.gitlab-ci.yml), который и делает всё что надо для деплоя.
Вот тут пример моего Laravel PHP проекта, в котором CI делает вот эти шаги, как часть деплоя:
- генерирует конфиг из секретных переменных окружения
- инсталлирует зависимости
- копирует (mv) исходники и зависимости в папку веб-сервера
- запускает DB миграцию
- сбрасывает кэш
https://gitlab.com/SlavikCA/donors-crm/blob/master...
В этом проекте у меня нет докера.
Но если бы он и был, то не думаю, что это что-то поменяло.
С Докером обычно делают немного другой сценарий: если сложное приложение в котором много зависимостей, какой-нибудь необычный веб конфиг и т.д., то при пуше в репу запускают CI, который собирает новый докер image из этих файлов и других зависимостей (а не просто пробрасывает PHP файлы в стандартный контейнер).