Git: Как управлять сайтом с помощью Git? Как использовать Git для сайта-развертывания?

Первоначально я думал, что моя проблема была How to maintain branches in Apache's DocumentRoots? но понял, правильный вопрос на самом деле How to use Git to deploy stuff to web -server such as Apache?,

Я чувствую, что теперь понял проблему DocumentRoot, это потребовало бы взлома Apache, которого я бы хотел избежать, потому что гораздо более простое решение, использующее побочные эффекты и помещающее репозиторий за пределы каталога-установки, но теперь проблема в понимании git-fetch-hook и как развернуть вещи, если внешняя вещь - это большой каталог, может быть, просто cp, а затем mv - но должен быть какой-то лучший способ синхронизировать развертывание - каталог, подумав.

DocumentRoot -проблема

DocumentRoots указывает каталоги в httpd.conf для размещаемого материала. Теперь в такой папке я хочу ticgit -branches и feature -branches. Когда я создаю ветки в каком-то DocumentRoot, я получаю master и другую ветку. $ git checkout --orphan feature-0.01 не пустой, но содержит мастер-вещи. $ ti new ... создает ветку, в которой есть что-то от master, по-видимому, какая-то ошибка в Ticgit (она работает в небольших репозиториях, но создает ticgit -branch для больших репозиториев, таких как мой результат DocumentRoot, в хаос). Итак, как вы поддерживаете свои филиалы в Apache DocumentRoot? У вас там есть билеты? А как насчет ваших функций-филиалов? Смотри, я озадачен этим, $ git checkout feature-0.1 и теперь, как apache знает, какие файлы он должен разместить? Вещи в мастере или вещи в feature-0.1?

Мое обновленное понимание проблемы DocumentRoot

Теперь проблема с последним заключается в том, что развертывание не предназначено для такой работы. Я знаю, что руководство SethRobertson описывает некоторые способы использования git для развертывания. Я думаю, что они являются лучшими методами до сих пор вместо того, чтобы взламывать Apache с помощью git -repo внутри каталога -dir (обычно www).

1 ответ

Решение

НЕПРАВИЛЬНО!

Не разрабатывайте внутри своего каталога -dir (обычно www в Apache). Разрабатывайте в других местах и ​​используйте побочные эффекты и правильные правила управления версиями, изложенные в руководстве SethRobertson здесь, в частности правило о ветке развертывания для версии 1.0 и тегах, чтобы вы поддерживали график развития событий с течением времени. Он заявляет о запрете действий, которые мешают разработке и развертыванию, ниже, вероятно, не очень хорошая вещь для ваших пользователей (они, вероятно, не хотят видеть ваше редактирование веб-сайта во время просмотра).

Руководство SethRobertson гласит, что ЗАПРЕЩАЕТСЯ путать развертывание и разработку

использовать git в качестве инструмента веб-развертывания

Да, это может быть сделано в достаточно простой / некритической среде с чем-то вроде документа Abhijit Menon-Sen об использовании git для управления веб-сайтом, хотя есть и другие примеры. Тем не менее, это не дает вам элементарных обновлений, синхронизированных обновлений БД или других характеристик промышленной системы развертывания.

Так Using Git to manage a web site - учебник здесь, пример здесь и здесь - но обратите внимание на его предупреждение "however, this does not give you atomic updates, synchronized db--",

Другие вопросы по тегам