@rhamdeew
Веб-разработчик

Как правильно разворачивать приложения при помощи Git?

Всем доброго времени суток!
На данный момент я использую очень простой вариант деплоя когда на сервере срабатывает хук post-receive и в нем делается git checkout -f branchname
Все меня устраивает, но проблема вот в чем. Если я создаю в проекте файл то при деплое он появляется на сайте, а вот если я делаю в проекте git rm filename то деплой проходит, но файл так и остается на сервере (что логично, мы ведь тупо разворачиваем текущую ветку в директорию). Так вот вопрос - как правильно реализовать деплой чтобы все файлы подконтрольные системой контроля версий добавлялись и удалялись, но при этом директории которые не под контролем системы оставались на сервере (к примеру директория /upload)
  • Вопрос задан
  • 2493 просмотра
Решения вопроса 1
@rhamdeew Автор вопроса
Веб-разработчик
А все, всем спасибо!
Решил вопрос сам.
Итак схема теперь такова - при пуше на удаленный сервер в хуке post-receive вот такой код
#!/bin/sh
git --git-dir ~/test/.git --work-tree ~/test/ pull


Правда сперва пришлось первый раз склонировать репозиторий в ~/test, зато теперь все работает
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@andymitrich
Software Developer
Разворачивайте всё в одной ветке master, например.
Ответ написан
@angry_bender
PHP, JS
чекаутитесь в новый релиз. а файл - хрен с ним, если он не используется, не инклудится, как разница, есть он физически или нет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы