ert*_*rne 16 deployment cakephp
我有兴趣了解人们如何部署CakePHP应用程序.我最近接触过一些自由开发的CakePHP开发,这对我来说是一个很好的机会,可以在表示层获得一些经验(在我的FT工作中,我在业务和持久层中进行Java EE开发).
我的想法在这一点上有点混乱,但我正在考虑以下场景:
在IDE中工作的开发人员修改文件,该文件自动(在后台)与本地运行的开发Web服务器同步.这种情况是我理想地喜欢进行开发的方式...进行更改并能够在没有任何额外步骤的情况下查看操作中的更改.
在IDE中工作的开发人员修改一个文件,该文件通过FTP与远程运行的开发Web服务器自动(在后台)同步.当我使用我的上网本(它运行我的IDE足够慢,因为它没有混合中的Web服务器)时,这种情况会很有用.
我最熟悉的开发工具是Eclipse,Ant和Subversion.我的偏好是继续使用它们,但我会考虑切换,如果这样做可以很容易地实现这些场景.
问题:
对于一篇文章中的这么多问题感到抱歉,但我认为这些问题都是相关的,并认为将讨论集中在一个地方是有用的.
dei*_*zel 12
在这些合理的情况下,还是应该以不同的方式考虑开发和部署?
看似合理,虽然FTP同步让我想起了Dreamweaver.:)
考虑使用允许您通过(S)FTP连接到服务器的IDE,或使用以下某个...
有哪些工具可以帮助简化开发/部署?用Ant,脚本等滚动我自己的解决方案会更好吗?
詹金斯,Capistrano的,Phing,蚂蚁,git push/pull,rsync,等.
我们如何在部署期间处理数据库问题?如何为特定部署指定数据库连接属性?如果更新到CakePHP应用程序的较新版本(或恢复到旧版本)需要更改数据库架构和数据迁移,该怎么办?
使用cake schema generate和cake schema run update.
我们如何配置不同部署之间的属性?例如,考虑增加开发期间使用的调试和日志记录级别,防止在开发期间将付款发送到支付网关等.
相应地命名的文件(即core.php.prd.vs core.php.dev)和安装时重命名.
升级或还原部署如何影响客户?例如,如果他们处于交易中间(例如购买产品)?
因此,您的应用程序文件不会以不一致的状态结束,您应该首先将应用程序的新副本签出到新文件夹.复制任何用户提交的文件,重命名*.prd文件,然后使用新副本切换旧副本(通过重命名或使用符号链接).会话应该存储在升级后的某个地方(即.php或者database,而不是cake).
我们如何处理不同的CakePHP安装类型?根据安装类型,可能需要将文件安装在不同的位置.我们怎么知道应该在哪里安装文件?CakePHP书籍描述了开发,生产和高级安装.
开发安装与使用.htaccess文件重定向请求的任何PHP应用程序一样安全(除非您卸载/错误配置mod_rewrite和PHP,否则人们将看不到您的代码).除非您可以编辑虚拟主机的文档根目录,否则生产安装稍微复杂一些.高级安装允许您在文件系统中的任何位置安装Cake,但会增加更多的复杂性(因为您的文件位于两个单独的位置,但可能位于单个仓库中)
| 归档时间: |
|
| 查看次数: |
5282 次 |
| 最近记录: |