部署工作流程中包含一些个人理念。不知道您在服务器和版本控制方面的经验,您的操作系统,托管,客户端的经验和技术文化等情况下,要彻底回答这个问题并非易事。
- 这是一个有很多解释的类似问题。
- 对于内容部署,您可以查看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']));
我在许多网站上关注
- 我的笔记本电脑网络服务器上的本地(个人黑客:))>
- 开发人员(在客户端服务器上测试)>
- 阶段(质量检查的稳定来源-内容编辑)>
- 生产(现场)
最后,我建议您使用版本控制工具来协助您的部署,例如GIT或SVN。它极大地简化了流程,并维护了环境之间的源完整性。通过舞台和生产上的命令行,可以轻松更新对本地的承诺。最好在发现过程中定义您和客户端从一开始便要使用的版本控制(如果有开发人员在项目上工作)。我个人使用GIT进行版本控制。但是,如果客户使用SVN,则我会在本地进行SVN混合处理,因此我会为自己维护一个回购协议,同时还要提交他们的回购协议。
从一个环境迁移到另一个环境的问题很少。我们在数据库中进行查找/替换以相应地更改嵌入式媒体等的URL。