it-roy-ru.com

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

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

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

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

2
Thomas Clayson

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

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

Для начала вам необходимо иметь:

  • Пустой репозиторий Subversion, в котором вы можете зафиксировать
  • Основные знания о SVN: Externals
  • URL всех компонентов (включая WP-core), которые вы хотите объединить в "дистрибутив"

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

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

Действия:

  • Оформить заказ (пусто) багажник 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
  • Зафиксируйте изменения
  • Обновите (или проверьте ствол в новый каталог) и просмотрите все: ядро, необходимые модули и темы, собранные в каталоге WordPress.

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

1
Lazy Badger

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

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

0
Dunhamzzz

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

0
Rutwick Gangurde