Никогда раньше не пользовался гитом, на выходных подтянул знания по нему - понравилось. Также услышал о автодеплое определенных веток гит для тестового и основного сервера при изменении их веток.
Как реализовал сейчас:
Создал репозиторий на bitbucket
Сгенерировал rsa ключ на сервере, прописал его в настройках.
У сайта получилось три поддомена:
dev.xxxx - тестовый сервер
www.xxx - основной
git.xxx - для webhook bitbucket
Выше корня домена для вебхука создал папку git, склонировал туда репозиторий с bitbucket.
Прописал webhook bitbucket по адресу dev.xxx/deploy.php?key=xxxx
Получился файл примерно такого содержания:
// проверка на наличие обновлений в ветке, если есть - продолжаем, иначе выход
// обновляем репозиторий
system("cd ".$git."; git checkout dev; git pull;");
// удаляем папку с основными данными
system('rm -rf '.$dev.'/app');
// удаляем папку vendor
system('rm -rf '.$dev.'/vendor');
// копирум новые данне
system('rsync -av --exclude=".git" '.$git.'/ '.$dev);
// Запускаем composer
system('cd '.$dev.'; export COMPOSER_HOME="'.$composerTempDir.'"; '.$php.' '.$composer.' install 2>&1');
Как реализовать правильно?