如何在生产服务器上的 Web 项目上应用补丁?

发布于 2024-07-09 13:30:34 字数 312 浏览 7 评论 0原文

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

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

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

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

We recently had a project where we released beta of a big web app on our client's server. Our client requested us to do bug fixes as they come, and we tried to do it same way. Normally while building an app on our prototype server is way easier, as I just have to issue simple 'svn up' command which takes a second.

But on production environment, we do not have any version control tool available. Is it possible to automate the patching work, so that we need not to login to ftp and upload each a every file one by one?

Its very difficult to work this way. As I'm having this problem, its for sure that some of you have already solved the problem. Please share your solutions.

Looking forward to your replies... Thanks a lot for reading guys.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

牵你手 2024-07-16 13:30:34

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

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

Depending on the tools available on the server, you could either do a svn diff -r x:y where x is the revision you last updated too and y the last revision you want to update to (probably the last revision on your repository) to generate a patch and then apply the patch with the patch command.

If rsync is available on the production platform, and you can use it (though ssh for instance) you could set up a production ready tree, rsync it on the production server, and when an update comes in, svn update your production tree, and rsync it again.

我是有多爱你 2024-07-16 13:30:34

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

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

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

在此签名,让您的老板签名,然后将副本发送至 [在此处插入姓名]。 突然之间,安装后可能出现的任何问题都将落在他的地盘上。 或者更明确地说:他将为你可能犯的任何错误负责。

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

What is stopping you from installing a Subversion client on the production server?

[EDIT] So someone doesn't allow you to install the software you need on the server. The question is: What is more important? A stable production server or an arbitrary policy? If the someone doesn't listen to arguments, go to your computer, start MS Word and write this letter:

"I hereby refuse to accept any responsibility for the stability of our production system based on the fact that [insert name here] refuses to equip me with the tools to make sure that the production system contains all the necessary files and data after an installation."

Sign this, have your boss sign it and then send a copy to [insert name here]. All of a sudden, any problem that might arise after an installation will be on his turf. Or to put it more clearly: He will be responsible for any mistake you might make.

Now, all you have to do is wait. :)

给妤﹃绝世温柔 2024-07-16 13:30:34

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

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

Depends on the programming environment you use. In Smalltalk and the web application server like Aida/Web we can upgrade the live web applications on the fly, without stopping it.

The server is connected to the SCM of choice like Monticello for Squeak Smalltalk or Store for VisualWorks. New versions are then manually or automatically loaded to the server's Smalltalk image.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文