Есть немного личной философии, которая входит в рабочий процесс развертывания. На этот вопрос нелегко ответить, не зная вашего опыта работы с серверами и контроля версий, вашей операционной системы, хостинга, опыта клиента и технической культуры и т. Д.
- Вот аналогичный вопрос, который имеет много объяснений.
- Для развертывания контента вы можете воспользоваться плагином Crowd Favorite RAMP .
- WP Hackers - отличная тема для поиска полезной информации о развертываниях.
Лично я удостоверяюсь, что никогда не кодирую абсолютные URL-адреса в своих темах. Используйте bloginfo () или код относительно URL. Я использую много условных выражений в моем файле wp-config.php. Вот ванильная версия моих изменений в wp-config.
switch($_SERVER['SERVER_NAME']){
case 'dev.yourdomain.com':
$db_host = '';
$db_pass = '';
//define debugging
break;
case 'stage.yourdomain.com':
$db_host = '';
$db_pass = '';
break;
default: //Live
$db_host = '';
$db_pass = '';
}
define('DB_PASSWORD', $db_pass);
define('DB_HOST', $db_host);
//You could also set this as a variable above
define('WP_HOME', 'http://'.$_SERVER['SERVER_NAME']));
define('WP_SITEURL', 'http://'.$_SERVER['SERVER_NAME']));
Я работаю на многих сайтах, которые следуют
- локальный (персональный взлом на моем ноутбуке)>
- dev (тестирование на клиентском сервере)>
- stage (стабильный источник для QA - редактирование контента)>
- производство (живой сайт)
Наконец, я бы посоветовал вам использовать инструмент управления версиями, чтобы помочь в ваших развертываниях, таких как GIT или SVN. Это значительно облегчает процесс и поддерживает целостность источника между средами. Обязательства к вашему местному легко обновляются через командную строку на стадии и производстве. Во время обнаружения лучше всего определить, какой контроль версий вы и клиент будете использовать с самого начала, если у них есть разработчики, работающие над проектом. Я лично использую GIT для контроля версий. Тем не менее, если клиент использует SVN, я делаю смесь из двух на своем локальном компьютере, поэтому я поддерживаю репо для себя, в то же время фиксируя его репо.
У нас редко бывают проблемы с миграцией из одной среды в другую. Мы делаем поиск / замену в БД, чтобы соответственно изменить URL-адрес для встроенного носителя и т. Д.