繁体   English   中英

Web开发; 没有服务器源控制支持

[英]Web development; no server source control support

我正在使用CodeIgniter PHP框架开发Web应用程序。 我正在使用的服务器不支持任何类型的源代码控制(即Subversion),除非你去更高的价格层。

我仍然希望将代码置于某种源代码控制之下。 执行以下操作是否有意义:

  1. 在我的本地机器上安装git或SVN并在那里开发
  2. 将更改从本地计算机复制到服务器上的开发目录(使用FileZilla,WinSCP等)并进行测试
  3. 将更改从开发目录复制到服务器上的生产目录

这听起来合理吗? 还有更好的选择吗? 谢谢!

如果你在本地使用svn它有点危险,因为那时你还需要保护你的计算机 - 我认为最好的方法是使用商业网站提供完全支持的svn / git - 比如http://www.beanstalkapp.com /http://www.github.com

您可以在本地计算机(SVN,Git等)上使用源代码控制,并使用Capistrano等开源工具通过SSH将代码从本地源代码控制存储库部署到服务器。 或者,如果您仅限于FTP,此博客文章有一个潜在的解决方案。

使用像Capistrano这样的工具而不是通过FileZilla或WinSCP直接将本地计算机上的文件镜像到服务器的优点是Capistrano将对已部署的文件进行版本化,这样,如果您最终破坏某些内容并需要快速回滚到以前部署的版本,可以像将符号链接更改为以前的部署目录一样简单。

这听起来合理吗?

部分地,在第1页。 但即使在这种情况下,我也建议你的存储库也在一些Repository-Hosting(BitBucket,GitHub,Assembla)

对于第2-3页:您的部署必须是自动且非交互式的 - 因此 - 您必须选择其他工具(用于在SCM-of-choice的post-commit钩子中使用)

以某种方式更好的替代2-3可能是:

  • 使用2个不同的分支(DEVEL和PROD)作为DEVEL和PROD目录的源
  • 提交后挂钩,上传仅在已提交的修订文件中更改为相应的目录(用于FTP的NCFTP,用于ssh的方案的SCP)
  • 主要开发发生在DEVEL分支
  • PROD 只有DEVEL的合并集

工作流与SCM无关,可扩展到任何合理数量的分支机构和开发人员

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM