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