5

我们最近有一个项目,我们在客户的服务器上发布了一个大型网络应用程序的测试版。我们的客户要求我们在错误出现时进行修复,我们尝试以同样的方式进行。通常,在我们的原型服务器上构建应用程序要容易得多,因为我只需发出简单的“svn up”命令,这需要一秒钟。

但是在生产环境中,我们没有任何可用的版本控制工具。是否可以自动化修补工作,这样我们就不需要登录到 ftp 并逐个上传每个文件?

以这种方式工作非常困难。当我遇到这个问题时,可以肯定的是,你们中的一些人已经解决了这个问题。请分享您的解决方案。

期待您的回复...非常感谢您阅读。

4

3 回答 3

2

根据服务器上可用的工具,您可以执行svn diff -r x:y其中 x 是您上次更新的修订版和 y 您要更新到的最后一个修订版(可能是您的存储库上的最后一个修订版)来生成补丁,然后应用用patch命令打补丁。

如果rsync在生产平台上可用,并且您可以使用它(例如 ssh),您可以设置生产就绪树,在生产服务器上 rsync 它,当有更新时,svn 更新您的生产树,然后 rsync再说一遍。

于 2008-12-03T13:29:16.097 回答
1

是什么阻止您在生产服务器上安装 Subversion 客户端?

[编辑] 所以有人不允许你在服务器上安装你需要的软件。问题是:什么更重要?稳定的生产服务器还是任意策略?如果对方不听争论,请到您的计算机上,启动 MS Word 并写下这封信:

“我特此拒绝对我们生产系统的稳定性承担任何责任,因为 [在此处插入姓名] 拒绝为我配备工具以确保生产系统在安装后包含所有必要的文件和数据。 "

签字,让你的老板签字,然后将副本发送到 [在此处插入姓名]。突然之间,安装后可能出现的任何问题都将出现在他的地盘上。或者说得更清楚一点:他将对你可能犯的任何错误负责。

现在,您所要做的就是等待。:)

于 2008-12-03T14:30:49.403 回答
0

取决于您使用的编程环境。在 Smalltalk 和Aida/Web之类的 Web 应用程序服务器中,我们可以即时升级实时 Web 应用程序,而无需停止它。

服务器连接到选择的 SCM,例如用于 Squeak Smalltalk 的 Monticello 或用于 VisualWorks 的 Store。然后手动或自动将新版本加载到服务器的 Smalltalk 映像中。

于 2008-12-03T13:25:03.577 回答