【问题标题】:Version control & synchronization (live & dev) for PHP website?PHP网站的版本控制和同步(实时和开发)?
【发布时间】:2011-06-27 10:27:52
【问题描述】:

最近我创建了一个基于 PHP/MYSQL 的网站,该网站将在接下来的几周内上线,我的导师要求我设置一个开发网站和一个实时网站,对开发中的新功能进行更改和测试,然后将它们上传到现场。

我可以做到,但这似乎是一个艰难的过程,因为我将在此处进行更改并手动将它们上传到实时服务器。上传时我可能会错过一些文件或依赖项。

我想拥有一种 SVN 类型的工具来管理开发和实时服务器同步。万一我错过了任何文件,它会突出显示该文件尚未在实时等上同步。此外,它将每天维护我的实时和开发站点的版本,以防出现任何问题,我们可以得到较早的版本。

我不完全了解什么是 SVN,如何设置它以及如何使用它。各位大侠,请指导我如何设置它以及如何使用它。哪个SVN软件好。

我的服务器配置是:它是一个 LAMP 工具(Ubuntu) 我使用 Windows 作为本地系统进行更改 (dreamwaver cs5) 并将它们上传到 FTP。

谢谢。

【问题讨论】:

  • 你不使用SVN或其他版本控制系统?使用一个对于开发来说是必不可少的,出于很多原因,我会推荐一个。你可能会有很多人告诉你 SVN 是垃圾,你应该使用别的东西。问题是,使用任何版本控制系统都比不使用要好得多。无论如何,看看其他系统,但如果你最终使用 SVN,那很好。至于 SVN 的教程或入门指南,谷歌应该会为您指出很多。
  • 我建议你也使用 beanstalkapp 或 springloops 之类的东西,因为它会让你的生活更轻松。恕我直言,最好外包不是你核心的东西。花时间编程,其他一切,让第三方工具处理。

标签: php svn lamp


【解决方案1】:

我有一个类似的配置来管理许多客户端的开发、登台和部署。我们仍然使用 SVN,因为它在本地得到了更大的支持,并且还集成在简单的开发人员工具中,例如 CODA(我们也在使用 GIT,但我们计划在 GIT 集成到那种编辑)。

在客户端(开发者端),您可以使用任何 SVN 可视化客户端,例如 Versions (OSX)。

在服务器端,我们开发了一个自定义 php 应用程序来控制服务器上的每个工作副本并运行新的更新SVNDeploy 否则您可以在服务器上通过 ssh 运行您的自定义更新。

如果您遵循 SVN 建议的存储库结构

/tags
/trunk
/branches

您可以通过这种方式轻松管理您的部署:

  • /trunk 文件夹中的当前版本
  • /branches 下的开发快照(如/branches/2.0-dev 等)
  • /tags 下的旧版本(如/tags/1.0/tags/1.5 等)

在过去 3 年中,我们在 5 台服务器和大约 25 名开发人员中使用了该配置,并且从现在开始运行良好。

一些有用的链接来配置你自己的颠覆服务器:
http://svn-ref.assembla.com/subversion-server-guide-mac-os.html
http://aymanh.com/subversion-a-quick-tutorial

【讨论】:

  • 我还会添加一些像 hudson 这样的工具来获得持续集成,这将使控制和同步更容易
  • 我没有在本地系统上测试应用程序。我正在进行更改,将其上传到服务器,然后检查更改是否完成。您的场景是否可以在那种环境中工作,我将在本地进行更改,将它们上传到 dev(分支)在 dev 上测试它们,然后将它们与 LIVE 服务器同步?
  • 是的,它会起作用的。只需在您的本地系统上工作。然后将您的更改提交到 SVN 存储库并更新您的集成(开发)服务器以检查您的内容。如果一切正常,只需更新直播环境即可。
【解决方案2】:

看看Mercurial

您可以观看 YouTube 上的多个视频,了解 Mercurial 的全部内容。 (Start here.)

【讨论】:

  • 我是 Mercurial 的忠实粉丝,但我认为从 SVN 开始比 Mercurial 更容易。
  • 我不同意。 SVN 的唯一优势是它的存在时间更长,因此被更多人理解。如果您对其中任何一个都不熟悉,那么无论您走哪条路,都会有一个学习曲线。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-13
  • 2017-05-22
  • 2011-09-01
  • 2011-01-30
  • 1970-01-01
  • 2012-01-04
  • 1970-01-01
相关资源
最近更新 更多