什么是修补使用 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 应用程序?