Git автодеплой на web-сервер
LEGACY CONTENT! Use CI/CD.
Цель: Разработчики push-аю т в репозитарий доработки, они автоматически подтягиваются на сайты
Вариант 1:
Git-репозитарий проекта располагается локально: /git/project.git
Детаем clone веток c локального репозитария:
Для Web-сервера делаем Symlink-и:
/var/www/project.com -> /var/git/project/production/project/public_html
/var/www/qa.project.com -> /var/git/project/test/project/public_html
Настраиваем хук: /git/project/hooks/post-receive
#!/bin/sh
log() {
echo `date +"%Y-%m-%d %H:%M:%S"` $@ >>${Log}
}
#
git_pull() {
project=$1
log ${USER} post-recieve on ${project}
cd ${project}
git pull
chmod -R g+w ${project}
}
unset GIT_DIR
#
Log="/var/log/git/git_push_project.log"
#
git_pull "/var/git/project/test/project"
#
git_pull "/var/git/project/production/project"
#
Требования: - локальные конфиги и прочие должны бьть в ключены .gitignore - у учетки разработчика должна быть группа www-data (группа веб-сервера) - учетка рабозработчика должны быть включена в групп git