我真的不知道如何在 Web 开发中正确执行从离线开发到实时网络服务器的部署。我主要依靠直觉,但这或多或少是我到现在为止所做的:我有一个用 python 或 php 编写的 Web 应用程序,并且我将它托管在一个实时网络服务器上。我用的是svn下的离线开发版本。
现在,当我开发离线版本时,我将对 svn 执行提交。当发布的时间到了,我可以:
- 将代码从离线服务器复制到实时网络服务器上的临时目录,然后将旧代码库与新代码库交换(例如,使用链接),或者...
- 让实时网络服务器在结帐 svn 上工作,然后运行 svn 更新。
我通常做第二个,虽然如果我必须在实时部署之前升级数据库,我通常会编写升级 sql 脚本,然后先在实时数据库上运行它们,然后再结帐。
这项任务的最佳实践是什么?