问题描述

您如何开发,测试和 deploy-to-live 您的 WordPress 网站?

它总是有点像我发现的,特别是在数据库方面,主要是因为有一个测试站点需要一个全新的数据库来部署,有时可以是完全相同的,除了所有的链接都改为测试网站 url,而不是现场网站。

同样,自上次需要修复错误或开发新内容之后,用户上传的任何上传都将被复制到测试站点。

别人怎么做?你刚刚忍住了这个骗子吗?你使用聪明的版本控制系统吗?

谢谢

最佳解决方案

有一些个人理念进入部署工作流程。在不了解您的服务器和版本控制,操作系统,托管,客户体验和技术文化等方面的经验的情况下,彻底回答并不容易。

  1. 这是一个有很多解释的 similar question

  2. 对于内容部署,您可以查看 Crowd Favorite 的 RAMP plugin

  3. WP 黑客是找到有关部署的良好信息的好主意。

就个人而言,我确定我从来没有在我的主题中硬编码绝对 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(在客户端服务器上测试)>

  • 阶段 (质量保证 – 内容编辑的稳定来源)>

  • 生产 (现场)

最后,我建议您使用版本控制工具来帮助您部署 GIT 或 SVN 。它显著地简化了流程,并保持了环境之间的源完整性。致力于为您的本地人通过舞台和制作的命令行轻松更新。发现之前,如果有开发人员在项目中工作,那么最好在开发过程中定义您和客户端从一开始就要使用的版本控制。我个人使用 GIT 进行版本控制。然而,如果一个客户端使用 SVN,我在本地做两个混合,所以我自己维护一个 repo,同时也承诺他们的回购。

我们很少有从一个环境迁移到另一个环境的问题。我们在 DB 中找到/替换,以便相应地为嵌入式媒体等更改 URL …

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。