Я начинаю использовать Git для управления сборками сайтов Joomla, и я ищу рекомендации по передовой практике. Как оно стоит:
- Используйте WHM для предоставления новой учетной записи. Я написал постустановочный хук для автоматической загрузки Joomla с Github и помещения его в соответствующий
public_htmlкаталог, а также для создания базы данных и пользователя БД - Вручную установите Joomla через веб-интерфейс (хотя в настоящее время также ищите способ автоматизировать это)
- Настройте голое репо выше
public_html- это то, где пользователи толкают и тянут. Мы назовем этоorigin - Настроить стандартное репо в
public_html - Добавить Joomla-специфичный
.gitignore - Укажите голое хранилище в качестве нашего пульта (
git remote add origin ../repo.git) - Выполните
git add ., затемgit commit -m"Initial J! Commit",git push origin masterчтобы получить установку по умолчанию в нашем репо - Добавьте
post-receiveхук к голому репо, чтобы автоматически вносить изменения в репоpublic_html(поскольку в голом репо разработчики будут выдвигать локальные изменения) - Добавьте
post-updateхук в репо наpublic_htmlслучай, если кто-нибудь внесет изменения на сервере ... хотя они не должны
Я не слишком беспокоюсь о базах данных в данный момент. Моя главная проблема сейчас связана с дополнениями / изменениями файлов Joomla. Очевидно, что при установке шаблонов и расширений определенные файлы будут добавляться и удаляться. Точно так же обновления Joomla будут вызывать изменения.
Каков наилучший способ справиться с этими изменениями на сервере? Я думал о написании небольшого плагина , который работает onAfterRenderили аналогичный , который использует PHPGit для выполнения git add ., git commit git push origin master. Затем, в своей локальной копии, я могу просто вытащить, и все происходит. Или есть лучший способ?
.gitignore? В настоящее время я единственный разработчик, и я довольно новичок в Git, поэтому я следовал некоторым рекомендациям по веб-разработке в Интернете, чтобы привести меня туда, где я нахожусь, что привело к открытой / публичной структуре.