Я начинаю использовать 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, поэтому я следовал некоторым рекомендациям по веб-разработке в Интернете, чтобы привести меня туда, где я нахожусь, что привело к открытой / публичной структуре.