php – 本地/开发/实时部署 – 最佳工作流程
情况
我们的小公司有3个人,每个人都有一个localhost网络服务器,大多数项目(以前和当前)都在一个PC网络共享磁盘上.我们有虚拟服务器,我们的一些客户的网站和我们的网站. 我们的标准工作流程是 Coder PC → Programmer localhost → dev domain (client.company.com) ↓ live version (client.com) 通常情况下,有两三个人同时在同一个项目上工作 – 一个是开发版本,两个是本地主机. 完成后,我们尝试同步dev版本上的文件,理想情况下不要弄乱(感谢ILMV::))任何文件,**敲敲* *不经常发生. 然后我们中的一个人在实时网络服务器上部署开发版. 题 我们正在寻找一种方法来简化这个工作流程,同时更新网站 – 理想情况下可能是某种差异上传器或VCS(Git / SVN / VCS / …),但我们并不完全确定从哪里开始或哪种方式理想因此,我问你,stackoverflowers,你的网站/应用程序部署和推荐的工作流程的经验. 我们可能还需要在进程中使用Mac,所以如果它不会成为问题,那就更好了. 谢谢 编辑:其中一个关键部分是在任何工作更新后将网站从开发移动到实时. 解决方法
这是一个涉及的问题,但通常需要做出三项重大改进,以改进您的流程.
使用版本控制 如果项目在共享磁盘上,我假设只有一个文件夹,其中包含每个项目的当前状态.开发人员很容易覆盖彼此的更改,没有历史记录,您无法确定项目是否处于一致状态或目前是否已损坏. 选择版本系统并开始使用它.重要的是哪一个(免费的 – SVN是好的,更“集中”,git或mercurial是伟大的,并允许更大的灵活性),但更重要的是任何变化,无论多小,总是通过版本控制. 简化升级,部署和回滚 现在可能需要一系列步骤从localhost迁移到dev,从dev转移到生产 – 同步文件,将数据库恢复到已知状态,配置服务器特定设置……可能有一个文档描述了需要什么完成,或者它可能是部落知识.您的目标应该是开始简化和自动化,实现单个命令或脚本,以执行将服务器(本地,开发或生产)同步到源代码管理中的项目修订所需的所有工作. 通过自动部署,您可以确保所有必要的操作都按正确顺序完成,即使所有文件都正确但某些配置或命令未运行,您也不会在部署中出现错误,从而破坏站点. 介绍测试 您如何知道您刚刚部署的修订版不仅编译正确,而且按预期工作?对于每个非平凡的项目,您应该进行测试以验证最重要的功能(登录,添加内容,生成报告等),以确保开发人员所做的更改使网站正常运行. 有专门用于测试Web应用程序的测试框架(Selenium可以想到).研究它们并应用它们.理想情况下,此测试套件将作为单线程部署脚本的一部分运行. 一旦完成了这些工作,您就可以获得有序,可预测且有弹性的开发流程.您的客户和开发人员将感谢您:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |