по п.1 — делается черех веб-хук GIT
по п.2 — миграции также как и любые др файлы проекта передаются через GIT на продакшн-сервер
а вот чтобы их применить — нужно на продакшене их накатить
по. п3 — пароли индивидуально на сервере задаются, их нельзя пихать в GIT
Чтобы все автоматизировать по цепочке:push →
веб-хук →
pull+migrate+composer update+npm install
Можно использовать полноценные инструменты для деплоя:
DeployerCapistrano