使用暂存环境处理 Web 发布的最佳方式?

Posted

技术标签:

【中文标题】使用暂存环境处理 Web 发布的最佳方式?【英文标题】:Best way for handling web releases using a staging environment? 【发布时间】:2010-10-05 19:51:47 【问题描述】:

多年来,我一直在设计和开发网站,但是,每当我对网站进行更改时,我都会采取错误的方法来进行修改,替换网络服务器上的原始内容,在浏览器中进行测试并制作根据需要进行更多更改。我正在寻找一种更好的方法来做到这一点。或者,有时我会处理“page.php”的新版本,只需将其复制到“pageeee.php”以进行修改,直到它准备好启动,但随后我的“/page/”等问题出现了在我测试等时重写规则破坏所有链接。

我一直在考虑只打开一个基本上是 mywebsite-dev.com 的新站点,在那里我可以有一个完整的副本,我将在其中进行所有更改,然后在我准备发布时复制文件。

我认为最好的方法是让我学习如何使用 SVN 或其他东西?

长话短说:你们都使用什么方法在 beta/测试环境中进行开发,然后自动部署到您的生产网站?如果解决方案允许版本控制、回滚等,同时仍然相当容易使用。

【问题讨论】:

【参考方案1】:

我使用 SVN、NANT 和 CruiseControl.NET 进行源、构建和部署设置。

利用源代码控制来制作版本、分支、合并和回滚。然后使用 NANT 自动构建脚本,将软件主干中的所有内容放在一起。最后,我使用 CC.NET 进行自动化部署,以便在签入时登台并一键部署到生产环境。

现在这是我的 .NET 解决方案。但是,任何主要平台都有对应的。

【讨论】:

以上是关于使用暂存环境处理 Web 发布的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在暂存环境中使用 git flow?

Web App 后台任务的暂存槽处理消息

Elastic beanstalk Rails - 即使我设置了暂存环境,也默认为生产环境

您如何在不同的暂存环境中维护 java webapps?

使用 `env` 命令和通过文件传递环境变量的最佳方式

Vue.js 使用不同的环境变量构建