1

我们目前使用 Subversion 来协调两个开发人员之间的网站开发。在我们之间,我们可能会处理一堆文件,检查我们的更改并使用 FTP 客户端以设定的时间间隔上传到生产服务器。

我觉得我在这里遗漏了一些明显的东西,但我们真的需要 FTP 吗?假设我们对存储库进行了一系列更改,有没有一种方法可以汇总从某个日期到现在为止发生更改的所有文件,然后将这些文件实时推送到包含生产站点的单独存储库?目前我们正在使用 SVN 日志查看哪些文件已更改,然后我们在 FTP 客户端中手动选择和上传。

我们处理的存储库已经在生产服务器上,只是不在 IIS 为运行站点而引用的文件夹中。

任何想法将不胜感激!

编辑 1 月 16 日 ------------------

Subversion 的 FTP 插件怎么样,这样我就可以进入“日志消息”区域,识别在给定时间段内发生更改的文件,选择它们并 FTP 到生产环境?这样的工具存在吗?

BTW:这里有很多有用的评论,谢谢大家的贡献。

4

6 回答 6

1

当您想要将文件来回发送到您的服务器而不一定需要通过版本控制时,FTP 或 SCP 仍然很方便。Subversion 是一种版本控制工具,不应用作未版本化文件的传输渠道。所以我的回答是你应该保留两者。

于 2013-01-15T15:21:35.220 回答
1

如果您使用 FTP 来回推送编程更改,那么最好使用像 Subversion 这样的版本控制系统。Subversion 不仅处理最新的代码问题,而且处理你们两个同时更新同一个文件的情况。此外,它还为您提供版本历史记录,因此您可以查看随着时间的推移发生了什么变化以及原因。

当您在开发人员之间共享库对象(.jar文件、a .dll、a.so等)时​​,FTP 很有用。没有可以从文件中提取的相关开发历史记录,并且您不会直接修改这些文件。此外,这些文件会很快老化、过时,并且会占用您存储库中的大量空间。

小心使用 FTP。这不是一个安全的协议有人监听可以收集密码。请改用 SCP 或 SFTP。这些都与sshd守护进程有关,所以如果你有能力使用ssh,你可能可以设置scpsftp.

除了使用 FTP,另一种可能性是使用Dropbox或等效程序来共享这些文件。Dropbox 会自动更新所有开发人员之间的文件,因此他们不必记住是否获取了最新代码。另外,还有一些版本控制方面。您可以查看一些版本历史记录,甚至可以获取文件的旧版本。Dropbox 是安全的,所有传输都经过加密。Dropbox 服务器上的文件甚至被加密存储(尽管由于用户之间共享文件的能力,Dropbox 本身确实保留了解密这些文件的密钥)。

于 2013-01-15T16:19:52.613 回答
1

首先:您必须了解差异,切勿将源代码控制管理和部署管理混为一谈——它们是不同的任务和工作,由不同的工具执行。

虽然 SCM 可以(以某种方式)用作部署工具,但由于 SCM 在这个(部署)领域的限制,这不是常见的做法。

回到你的问题。

如果 RepoServer 和 ProdServer 是不同的主机,则可以使用它们支持的任何底层传输。FTP(如果您有选择)不仅来自安全 POV,而且来自可能的灵活性 - 将某些树上传到目标的常见任务对于纯 FTP 来说并不容易和透明,FTP 会话的自动化程度很差。恢复 - 如果您可以使用其他传输,您至少可以尝试将您的部署过程用于其他传输。

于 2013-01-15T18:32:23.547 回答
0

FTP 是传输文件的好方法。这就是它的目的。SCM 用于管理源代码。您需要一些部署管理,如果可能的话,它应该是自动化的。如果是我,我会编写一个脚本来从 svn 获取更改的文件并自动通过 SFTP 或 FTPS 部署它们。每次都以相同方式进行部署的脚本是理想的。

您也可以查看 rsync。它速度快,发送差异,并且是安全的。

根据我的经验,当您将大型文件(例如 VM 图像或视频)添加到源代码控制时,会减慢开发速度,尤其是在您创建分支或将 repo 拉到新盒子时。

另一位贡献者建议将 Dropbox 用于 SCM 和部署管理。我不喜欢 Dropbox 的源代码。它不提供您将习惯于来自 SVN 的合并功能。我在生产环境中使用 Dropbox 进行廉价的自动备份。我让 WHM/Cpanel 将备份放在 Dropbox 文件夹中。请务必关闭网络同步,因为大多数数据中心不喜欢在内部网络中传输的 UDP 数据包。

于 2013-01-17T14:29:59.417 回答
0

是的。你的问题的答案是肯定的。Subversion 可以代替 FTP。

于 2013-11-16T00:03:53.547 回答
0

我找到了你的英雄: Bazaar是一个分布式版本控制系统,可以轻松进行协作开发。Bazaar 的优势之一是它对不同工作流程的适应性。您选择:集中式、分布式或介于两者之间的工作 他的优势在于它能够使用 FTP 或 SFTP 读取/写入远程存储库(无需另一端的客户端程序)

我认为svn2web也可​​以做到!

于 2014-02-04T01:37:18.047 回答