2008-11-01 75 views
12

我已经在几个PHP项目上工作过,并且总是在组织工作时遇到问题。你在哪里开发你的应用程序 - 在本地主机,远程服务器或可能是生产(!)? 当我在做一些主要路径后,在我的本地主机上工作时,我通过ftp发送了新文件 - 但有时它恰巧忘记了一个文件,并且只是为了浏览几个directiores来复制已更改的文件而感到累人。 你提出了哪些最佳实践?你如何管理PHP项目开发生命周期?

回答

10

这是我们如何管理我们的商业网站

  1. 开发在当地的沙盒
  2. 入住到SVN
  3. 自动构建/从SVN测试到内部 开发服务器
  4. 脚本部署使用rsync登台 QA/UAT服务器
  5. 脚本部署到生产 服务器。

分段和生产服务器都由ISP托管,并且硬件和版本匹配并运行RHEL,内部Dev服务器与版本匹配的CentOS。

这样,当代码击中生产服务器不应该有任何讨厌的惊喜,因为即使部署脚本获取阶段检查4

+1

我们除了我们使用SVN结帐,使舞台构建做同样的事情(允许指定修订#或标签 - 的情况下,后备箱undeployable) - 然后使用rsync,确保生产完全匹配阶段。 – DavidWinterbottom 2008-11-02 10:46:19

0

我正在开发一个与生产环境相同的开发环境 - 它可以防止由于不同版本或配置而导致的某些不同行为。完成后,我只是将所有文件移动到生产服务器上。

Winmerge是一个不错的和免费的Windows工具来区分开发和生产机器之间的文件。

+0

是不是就像有一个控制系统版本不回去的时间的能力吗? – 2008-11-01 22:32:55

1

Google App Engine有一个适用的工具,可自动上传到生产环境修改的文件;不知道PHP是否有类似的东西。 所以,做一个dev2prod脚本(一个自动执行此操作的脚本)应该是一个很好的解决方案。

要做本地源文件管理,大家可能会建议你使用source code control system

0

在本地计算机发展与完全相同的配置,你的开发环境(即apache mods,php扩展等),使用版本控制系统(我更喜欢SVN)来跟踪修改过的文件,以及哪些不是。

然后,您可以在生产环境或测试环境中编写脚本,将文件从存储库复制/更新到Web服务器路径。

0

可能得到告诉过改向老的文章,但这里是一个使用免费的工具,它,我该怎么办:

我使用NetBeans,Git的,到位桶,源代码树,gitflow和FTPloy。

Bitbucket.com:免费注册账号。 SourceTree:免费的bitbucket。管理git存储库的好工具。所有提交,合并和拉取都可以在这里完成。 bitbucket中的问题可以被追踪。

在sourcetree中,选择master分支,然后单击“git flow” - google gitflow - 这是功能,修补程序,开发和发布分支和源代码树的奇妙工作流程,可帮助自动执行此过程。

FTPloy.com自动部署您的主分支。免费是一个回购/服务器。但值得升级,如果你想推动开发分支到服务器沙箱进行测试。

希望这可以帮助别人搜索网页!

相关问题