无需安装即可部署 Magnolia CMS

Deploy Magnolia CMS without installing it

我刚开始使用 Magnolia,一开始令我感到惊讶的是,每次 .war 部署到 tomcat 后都需要安装 Magnolia。我在我的项目中做了一些更改,用 mvn tomcat7:deploy/redeploy 部署它。 Tomcat 自动识别 ROOT.war 已更改,因此它会自动解压它,然后当我输入 localhost:8080 时它要我再次安装 Magnolia 模块。在我的项目和部署中的每一次更改之后,真的有必要一次又一次地安装所有模块吗?也许我在项目中进行更改和部署的方式是错误的?如果我没记错的话,我的内容也会更改为 overwritten/deleted?

您每次都必须重新安装 Magnolia,因为我认为您每次部署新版本时都会删除存储库(数据库)。
可能您将数据保存在 webapps 内的文件夹中,并且每次部署新的 .war 时它都会被删除。
如果您想在部署之间保留您的网站和模块,我需要将存储库位置更改为文件系统中的不同文件夹,或者设置数据库连接。
您可以通过修改 repositories.xml 文件或添加自定义 jackrabbit conf 文件来做到这一点,在这个 article 中您会发现很多有用的信息,我建议您查看段落 'Custom Jackrabbit configuration file'

查看 documentation 了解如何配置您的 Magnolia 以获取详细信息,但本质上,如果您打开 /WEB-INF/config/default/magnolia.properties 并更改 magnolia.home= 以指向目录 OUTSIDE 就足够了你的网络应用程序。默认情况下,它设置在 war 文件中,因此您可以轻松擦除和重新安装 Magnolia。在您的情况下,您希望您的数据是永久性的,因此您将其设置。您仍然应该阅读 Daniele 链接的关于如何设置您的 devenv 的文章,并且您可能仍然希望为您的生产使用配置与 derby 不同的数据库,但是您也应该将所有数据保存在 webapp 之外。

HTH,
一月