Работа под управлением версии (git)

Мне нужно работать с некоторыми другими людьми для разработки веб-сайта с использованием Joomla. Мы создадим наш персональный шаблон, и мы будем устанавливать и, возможно, модифицировать некоторые расширения или плагины. Мы будем работать в разных городах, в основном взаимодействующих через Интернет, и мы будем работать на местном уровне, имея центральный репозиторий, в котором сохраняются наши работы.

Мы думаем о том, что является лучшей стратегией для поддержания нашего рабочего процесса под контролем версий. Мы думаем об использовании git, но затем возникают некоторые вопросы:

  1. Следует ли отслеживать всю папку Joomla?
  2. Как насчет отслеживания изменений в базе данных?
7 голосов | спросил Red 14 FebruaryEurope/MoscowbSat, 14 Feb 2015 21:39:13 +0300000000pmSat, 14 Feb 2015 21:39:13 +030015 2015, 21:39:13

1 ответ


5

Я могу ответить, основываясь на том, как мы работаем в Virya Group - наш технический директор Марко Динс писал их в серии статей: http://magazine.joomla.org/issues/issue-apr-2014/item/1842-practical-development-3-project .

Мы используем атласские продукты - Jira, Stash, Confluence и т. д.

Мы настраиваем нашу рабочую среду как призрак для каждого проекта - мы работаем над написанием сценариев, чтобы это было быстрее. Таким образом, у каждого разработчика есть своя локальная «игровая площадка», и мы настраиваем dev.clientsite.com, staging.clientsite.com, а затем их живой сайт, clientite.com.

Внутри vhost у нас есть каталог - vcs - и веб-корень - www.

Мы используем PHPStorm, и мы устанавливаем Joomla в каталог www и сопоставляем это с соответствующим веб-корнем на dev /staging /live с помощью удаленных хостов.

В проект для клиента создается репозиторий, в котором мы помещаем все, что изменяет из ванильного Joomla, и любые расширения, которые каким-либо образом изменяются, формируются или формируются, включая шаблоны.

Они символически связаны из каталога VCS обратно в каталог www - поэтому файлы «живут» в репозитории VCS, но они появляются в папке www в качестве связанных файлов.

Мы используем LESS с нашей базой шаблонов и следуем структуре BEM, которую мы имеем в отдельном репозитории. Это клонируется для каждого проекта и символизируется как новый шаблон. Любые индивидуальные настройки клиента тогда уникальны для этого проекта, но мы с легкостью можем объединить любые будущие изменения во всех наших проектах.

Некоторые люди будут управлять версиями всего сайта, это действительно зависит от того, чего вы хотите достичь. Мы заинтересованы в том, какие изменения, и у нас есть единственный контроль над этим. Мы создаем файл customer-custom.css, который клиент может изменить, но все остальное не работает.

Что касается контроля версий базы данных, это то, что мы изучаем. Мы играли с некоторыми опциями, но не нашли ничего, что покажет все поля.

Мы используем кучу скриптов для автоматизации всего вышеперечисленного, которые мы разрабатываем и настраиваем, когда мы идем.

Я надеюсь, что это поможет!

ответил RCheesley 15 FebruaryEurope/MoscowbSun, 15 Feb 2015 17:04:15 +0300000000pmSun, 15 Feb 2015 17:04:15 +030015 2015, 17:04:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132