Использование Subversion для развертывания WordPress

Я использую Subversion с моими сайтами. До сих пор это означало создание нового репо для каждого из моих сайтов. Тем не менее, это полностью неэффективно, так как это означает, что я цепляюсь за весь источник WordPress для каждого из сайтов. Это также означало, что мне приходится копировать плагины между репозиториями и таким образом дублировать код каждый раз.

Так что я хотел сделать, это иметь репо, в котором действительно содержался только файл темы (и, возможно, другие каталоги, относящиеся к конкретному сайту, такие как плагины для конкретного сайта). После этого у вас будет ссылка на тегированный репозиторий WordPress для версии WordPress, с которой я буду строить, и ссылку на мои другие общие плагины-репозитории, так что для того, чтобы выпустить или развернуть для тестирования, мне нужно было бы сделать svn checkout svn://path/to/site/repo и он будет загружать весь репо WordPress, все мои плагины и все материалы, относящиеся к сайту.

Есть какой-либо способ сделать это? Или это плохая идея? Есть ли более простой / лучший способ сделать это вообще? Как это делают другие?

Solutions Collecting From Web of "Использование Subversion для развертывания WordPress"

Ну, ничто не мешает использовать Subversion для решения этих задач

Примечание. Некоторые шаги могут отличаться в зависимости от компоновки вашего собственного репозитория для тем / плагинов (я полагаю, они являются внутренними файлами внутри, а все дерево не повторяет стандартный WP-макет: /wp-content/themes/ wp-content/plugins/ )

Для того, чтобы начать, вы должны иметь:

  • Пустое хранилище Subversion, в котором вы можете совершить
  • Основные знания о svn: externals
  • URL-адреса всех компонентов (включая WP-core), которые вы хотите объединить в «дистрибутиве»,

Общее правило:

Все компоненты обслуживаются в собственных репозиториях, наше репо связывает их только в одном месте

Действия:

  • Checkout (пустой) trunk svn co URL/trunk Deploy
  • Напишите все определения компонентов в текстовом файле (externals.txt для образца) (сохраните его в любом месте, он не должен быть частью репо), они появляются в файле что-то вроде

wordpress http://core.svn.wordpress.org/tags/3.5/

wordpress/wp-content/plugins/plugin-one URL-OF-PLUGINONE

...

wordpress/wp-content/themes/Mytheme URL-OF-MYTHEME

(каждая строка представляет собой новое определение внешних элементов, 1-я часть – относительный путь к локальному директорию, пространство (-ы) – разделенная 2-я часть – источник содержимого каталога)

  • cd Deploy
  • Используйте externals.txt для определения всех внешних в корне сундука сразу svn propset svn:externals . -F ../externals.txt svn propset svn:externals . -F ../externals.txt
  • Зафиксировать изменения
  • Обновите (или checkout trunk в новый каталог) и посмотрите все: ядро, необходимые модули и темы, собранные внутри wordpress dir

В следующий раз, когда вы захотите изменить конфигурацию развертываемого WP, вы можете редактировать существующие определения svn: externals ('svn propedit', 'svn commit') и получать после проверки обновленную конфигурацию.

У меня есть одна многоузловая установка с WP, выведенным из SVN, чтобы обновить все сайты, которые мне нужно сделать, это команда svn sw ... и перейти на страницу обновления в wp-admin.

Если все сайты находятся на одном сервере, я бы рекомендовал посмотреть на многосайтовый сайт.

Используйте NetBeans … Когда вы просматриваете копию из SVN, вы можете напрямую использовать ее в качестве исходных файлов для своего проекта и в то же время синхронизировать ее с вашим сервером. NetBeans отслеживает новые файлы, изменяет файлы, вы можете сравнивать версии, фиксировать, обновлять и т. Д. Это потрясающе, не требуется командная строка (за исключением проверки / экспорта / импорта, которую вы делаете из командной строки / терминала).