我正在托管服务器上开发我的Web应用程序。我使用IDE自动下载/上传我正在编辑的文件。我想设置第二个服务器(即development.domain.com),我将用它来处理更新。完成并测试更新后,如何将所有更改推送到发布服务器(数据库方案更改,文件更改/添加/删除,系统更改为cron等)?是否有任何软件可以通过一个按钮为我执行此操作,或者是否必须跟踪我所做的所有更改,然后将文件复制并在生产服务器上逐个更改方案? 感谢
答案 0 :(得分:3)
这是一个很好的问题,很多早期的开发人员都面临着这个问题。我们在StrollUp使用tomcat和Elastic beanstalk并在生产机器上进行部署。因此,我们很容易将war文件从我们的开发环境上传到prod。您也可以尝试Elastic beanstalk。像Laravel这样的一些php框架提供了这些功能RoR。但是使用您自己的php代码和单实例prod服务器,您可以遵循以下准则:
将代码推送到Prod服务器:
转移数据库更改:
转移Crons :
我只是将所有的cron从dev复制到prod。你可以用bash脚本来完成它。
crontab -r #remove all current cron jobs
crontab cron.txt#将所有cronjobs列在cron.txt中
关于上述步骤的最佳部分:您可以将所有上述步骤放在bash脚本中并在一行中执行。这就像你自己的软件,只需点击一下按钮;) 我做了一次点击"我自己的脚本,但它们特定于tomcat和Elastic Beanstalk。您可以查看它可能会为您提供有关如何继续的一些建议:AWS Deploy
最重要的:在prod服务器上运行sql查询之前,先对两个数据库进行数据库备份。使用VCS(git,bitbucket是一个不错的选择)来保证所有更改的安全。
答案 1 :(得分:0)
我将研究使用源代码控制的持续集成或持续部署解决方案。