什么是修补使用 XAMPP 部署的 web 应用程序的好方法?

Posted

技术标签:

【中文标题】什么是修补使用 XAMPP 部署的 web 应用程序的好方法?【英文标题】:What is a neat way to patch a webapp deployed using XAMPP? 【发布时间】:2012-09-05 19:16:29 【问题描述】:

我有一个 Spring 网络应用程序。它使用 XAMPP 分发(通常部署在 Windows 上),以便非技术用户可以方便地安装它。 现在,如果我想在 XAMPP 软件中单独修补 webapp。如果我可以减少补丁的下载占用并应用它会很方便。

我可以双击的可执行文件。关闭数据库。它会自动检查预配置 URL 处的更新,并在 XAMPP 安装中修补 web 应用程序,而不会影响 mysql 数据库。

是否有一些开箱即用的解决方案,或者我需要构建一个自定义解决方案?

另外一种在不删除任何数据的情况下将架构更改(例如添加新列)应用到 MySQL 数据库的简洁方法也很有用。

【问题讨论】:

与他们共享一个二进制文件,该二进制文件执行一个简单的批处理脚本(或 unix 上的 shell 脚本):部署战争,重新启动服务。现在,数据库架构更改可能涉及更多,不知道如何实现自动化。 谢谢@zengr 我在想这个......但是有没有办法让修补过程更加自动化......所以我不必一次又一次地编写批处理脚本,只有差异被发送给他们。如果有现成的解决方案,那就太好了。 好吧,我不会将我的网络应用程序分发到客户端设备,但我将源代码推送到服务器的方式是使用fabric + git。结构脚本执行 git pull,git 获取差异。然后结构重新启动服务器等,但你不能做所有这些,因为你需要跨平台。 (你不能让你的客户安装 python、pip、fabric、git) 如果值得的话,我可以将 python 与软件捆绑在一起。但我主要担心的是,一旦软件发布 - 只需双击即可对其进行修补。 MySQL 随 XAMPP 一起提供。我可以编写一个脚本来计算两个版本之间的差异,并将差异应用于所有可执行文件、jar 等等。但我不希望客户做任何事情,数据不应该受到影响。修改 mysql 表很棘手,所以我想我应该避免这种情况。 【参考方案1】:

为了升级数据库,我们使用 Flyway,这是一个库,可让您使用单个命令将数据库升级到应用程序的特定版本。它还跟踪您的数据库版本,并允许您在需要时执行降级/回滚。

http://flywaydb.org

【讨论】:

感谢 Rein ... WEB-INF 目录。我需要确保服务器没有运行,找到差异并准备一个自定义升级补丁以进行交付。我应该推出自己的脚本吗?对于数据库,我将研究 Flyway。

以上是关于什么是修补使用 XAMPP 部署的 web 应用程序的好方法?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Java 文件编译 Netbeans Web 应用程序(用于在 XAMPP 上部署?)

如果我不想使用 XAMPP 包,我需要安装哪些服务器来部署和运行我的 PHP Web 应用程序?

如何使用免费的 windows 堆栈在亚马逊 aws 免费层上使用 XAMPP 部署 windows 开发的应用程序?

xampp下载地址 一个集成的易于安装的WEB环境部署包

在 Azure 中创建 Node.js Web 应用

在 Xampp 中使用 cgi 脚本部署 Flask 应用程序