我正在托管服务器上开发我的Web应用程序。我使用自动下载/上传正在编辑的文件的IDE。我想建立第二个服务器(即development.domain.com),我将用它来处理更新。一旦我完成并测试了一个更新,如何将所有更改推送到发布服务器(数据库方案更改,文件更改/添加/删除,系统更改为cron等)?是否有任何软件可以通过一个按钮为我执行此操作,还是必须跟踪我所做的所有更改,然后复制这些文件并逐个更改生产服务器上的方案? 谢谢设置开发/生产PHP/MYSQL服务器
1
A
回答
0
我会看看使用源代码管理的持续集成或持续部署解决方案。
3
这是一个很好的问题,许多早期的开发者都面临着这个问题。我们在StrollUp上使用tomcat和Elastic beanstalk,并在生产机器上部署。所以我们很容易将war文件从我们的开发环境上传到prod。你也可以试试Elastic beanstalk。一些php框架如Laravel提供了这些功能比较RoR。但随着自己的PHP代码和单一实例PROD服务器,你可以遵循以下原则:
推代码为正式服务器:
- 一旦你测试你的开发代码,上传整个目录/ var/www/html/YOUR_PROJECT(压缩即。YOUR_PROJECT.gz或YOUR_PROJECT.phar)到您的prod服务器(不要逐个上传,有可能某些文件上传成功,有些失败)
- 解压缩产品服务器上的压缩上传文件
Transfering分贝改变:
- Db的变化可能包含DDL和DML两者。在prod上传输它们的最佳方法是根据我的要求保存sqld ,顺序为,您可以在开发环境中运行它们,并在解压缩prod服务器上的压缩项目之前运行它们。
- 另一种方式(不建议,但它适用于我)是将整个dev数据库(显然不是用户或日志表)转储到您的prod数据库。
转移Crons:
我刚才的所有的cron复制从开发到刺。你可以在bash脚本中完成。
的crontab -r #remove目前所有的cron作业
的crontab cron.txt#放在cron.txt列出的所有cronjobs
关于上面的最好的部分步骤:你可以把所有上述步骤都在bash脚本中并在一行中执行。这将像你自己的软件,只需点击一下按钮;) 我为自己制作了“一键式”脚本,但它们只针对tomcat和Elastic Beanstalk。你可以看看它可能给你如何进行的一些想法:AWS Deploy
最重要的:取两个数据库的数据库备份第一督促服务器上运行SQL查询之前。请使用VCS(git,bitbucket是一个不错的选择)来保证所有更改的安全。
相关问题
- 1. 使用开发和生产服务器设置SVN
- 2. 设置开发服务器
- 3. Coldfusion开发服务器比生产慢
- 4. MongoDB单服务器生产设置
- 5. Python:从开发服务器移动到生产服务器
- 6. 设置IBM Domino开发服务器
- 7. 在linode上设置开发服务器
- 8. git组开发服务器设置
- 9. 设置开发服务器参考
- 10. 为Ruby设置开发服务器
- 11. 在开发服务器上设置Sphinx?
- 12. 如何设置Django开发服务器
- 13. 设置git进行开发和生产
- 14. Git开发到生产设置
- 15. 如何设置开发/生产
- 16. 生产和开发CakeEmail设置
- 17. 生产服务器
- 18. 生产服务器
- 19. 生产服务器:URL不能打开
- 20. 配置开发服务器
- 21. 在开发机器上设置生产服务器以使用rails 3资产管道
- 22. 配置设置从开发者机器转移到生产
- 23. 生产服务器和开发服务器之间的镜像文件
- 24. 使用Google App Engine开发服务器作为生产服务器
- 25. 将Rails应用程序从开发服务器传递到生产服务器
- 26. PDOStatement->执行较慢的生产服务器上比开发服务器
- 27. PHP memory_get_peak_usage对于开发服务器和生产服务器显示不同
- 28. 生产服务器上的ManyToManyField错误,在开发服务器上罚款
- 29. Transfering数据从生产服务器的发展服务器
- 30. 在同一个vps服务器上开发和生产?
git用于源代码跟踪,您的数据库更新应该由您正在编写的软件管理。 –