当前位置: 首页 > 知识库问答 >
问题:

如何部署上游。war作为OpenShift应用程序的根源。war?

胥宏义
2023-03-14

议题背景:

我开始使用OpenShift的目的是--表面上--通过OpenShift安装和管理Liferay6.2门户。为此,我使用jbossas-7和PostgreSQL-9.2墨盒创建了一个OpenShift应用程序--与“DIY墨盒”方法相比,我目前更喜欢官方墨盒,即在OpenShift上安装应用服务器,特别是JBoss AS7,理想情况下在该应用服务器中安装Liferay。

按照Liferay用户指南[1]中的说明,尽管为了在OpenShift中调整部署到JBoss AS7上的说明,我已经配置了OpenShift应用程序的模块目录,并下载了上游的Liferay-portal-6.2.0-ce-ga1-20131101192857659.war,然后通过删除eclipselink.jar(如指定的[1])更新了.war文件,并添加了custon portal-ext.properties。我在${APP}/deployments/root.war中找到了修改后的。war文件

在应用程序的JBoss部分的Maven配置中,我已经注释掉了pom.xml中的maven-war-plugin条目,我希望deployments/root.war文件可以用作应用程序OpenShift Online空间中JBoss服务器中应用程序的root.war文件。据我所知,问题在于,这似乎并不像预期的那样发生--相反,即使注释掉了指定的Maven插件配置,应用程序自己的代码似乎也被用于创建一个新的root.war来覆盖现有的部署/root.war。

坦率地说,这只是猜测是什么情况。另外,在“Git push”中会出现一些困难--简而言之,在“Git push”期间的Maven构建在服务器重启部分失败。我可以通过OpenShift Online console重新启动应用程序,但我在http://portal-gproj.rhcloud.com/看到的不是Liferay root.war,而是一个。war文件,其中包含了我在通过'rhc'组装应用程序后不久,在修改OpenShift自己的默认index.html时制作的静态内容

当我在OpenShift Online上SSH到应用程序的远程主机时,我看到同一个root.war位于app-root/repo/deployments/root.war。然而,它显然不是从应用程序的“部署”dir中作为应用程序自己的根.war安装的,在live JBoss实例下。

假设这可能是由于在工作流的“Git Push”部分中使用了一个(组合的App/OpenShift)Maven配置(???)我的问题是:有没有办法解决工具链的这种行为,以确保我自己提供的root.war将被用作应用程序的root.war?

(另外,是否有一种方法可以配置JBoss AS7以获得更详细的日志输出?OpenShift工具安装的JBoss AS7墨盒的日志信息,在调试该应用程序的配置时,似乎只有有限的用途。该应用程序现在处于第二次迭代中,顺便说一句--被删除了一次,很快将在第三次中被删除并重新创建)

[1]http://liferay.com/documentation/liferay-portal/6.2/user-guide/-/ai/installing-liferay-on-jboss-7-liferay-portal-6-2-user-guide-15-en

remote: HAProxy instance is started
remote: Deploying JBoss
remote: rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
remote: rsync: write failed on "/var/lib/openshift/52a2f112e0b8cd711a000007/jbossas/standalone/deployments/ROOT.war": Disk quota exceeded (122)
remote: rsync error: error in file IO (code 11) at receiver.c(301) [receiver=3.0.6]
remote: rsync: connection unexpectedly closed (28 bytes received so far) [sender]
remote: rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]
remote: Result: failure

我假设这是由于应用程序的Git存储库占用了空间--按照这种方法,应用程序的Git存储库将包含所有原始的Liferay Portal.war文件、该文件的扩展内容以及用于该应用程序的修改后的。war文件。现在,我将尝试重构创建第三个方法--而不是像我读到的那样使用“扩展、修改和重新压缩”方法,而是尝试使用Maven JAR文件“覆盖”,这样理想情况下,存储库中应该只需要一个大型上游。WAR文件的副本(或者,通过Git“外部”拉入一个普通的GitHub存储库,将存储库存储传递给GitHub而不是我的应用程序有限的存储空间?)。

恐怕“JAR file Overlay”方法会在应用程序的“Git Push”部分造成大量延迟,而Liferay.war是一个必须修改的大型JAR文件。然而,如果它的目标是至少在OpenShift上创建一个救生筏门户,那将是目标....

如果有任何关于这个问题的建议,“上游.war作为root.war”--如果在解决磁盘配额问题之前,关于项目“该部分”的整体工作流--如果“注释掉maven-war-plugin”可能不足以使用上游.war作为root.war,我将非常感谢关于这个配置的任何建议。

共有1个答案

申屠泳
2023-03-14

参考OpenShift KB-E1088,我将使用SCP方法--在JBoss AS7上使用这种方法。定义一些额外的机制,以便管理项目的上游来源,如:

组件命名模式

app.manager.name=${OPENSHIFT_APP_NAME}-${OPENSHIFT_NAMESPACE}-manage

    null
    null
    null

所需的额外任务

  • 大概在OpenShift应用程序本身的Git存储库中
    • 修改JBossascartridgemodules配置,这样得到的模块配置将适合上游.war文件中表示的Liferay安装
      • 为Liferay门户和门户的JDBC配置添加所需的JAR文件
      • 使用OpenShift上应用程序的JBossas墨盒中的上游module.xml文件的本地副本,在每一种情况下,当上游module.xml可用时,根据在JBoss AS7上安装Liferay 6.2的Liferay用户指南(暂定)
      • 中的说明提供附加的 module.xml文件和文件自定义

      “事情可以这么简单,”有人希望。

 类似资料:
  • 我在IBM jdk 7的WAS 8.5.5上安装solr。我将< code>solr部署为< code>war,并将< code>solr.data.dir和< code>solr.solr.home添加到自定义属性中。 访问网址后:, 我在浏览器上看到以下错误: 错误500:javax.servlet。ServletException:筛选器[SolrRequestFilter]:org.apa

  • 我不熟悉weblogic,正在努力部署战争。我有一个在嵌入式tomcat上运行的spring boot应用程序。我改变了主要课程如下。 } 我把包装改成了战争,把tomcat罐子排除在外,然后部署。但是当提交请求时,我得到了404。我在管理控制台的诊断日志中没有看到任何内容。有地方看日志吗。在weblogic管理控制台中,我可以看到应用程序处于活动状态,运行状况良好。 我更改了相同的应用程序spr

  • 我正在同时试验Spring boot和openshift,不幸的是,我遇到了一个我无法找到的问题。 我用Spring启动的初始值设定项创建了一个应用程序。创建了几个Rest控制器(你好,世界喜欢) 这是我的应用程序(主) 我可以在本地启动应用程序(通过智能和冬虫)。我可以看到应用程序日志记录并访问所有endpoint,没有任何问题。 pom.xml是这样的: 因此,根据我的理解,WAR文件是根据O

  • 从我开始尝试在OpenShift上部署一个香草jhipster应用程序到现在已经有一个多星期了。我试过Openshift和我们的Openshift私人公司实例,但没有成功。 我尝试了几种方法来做,使用生成器yo jhipster:openshift或手动使用特定的hook。使用生成器,我做了: .........从这里到那里都有很多例外.........

  • 创建了一个spring boot REST应用程序。 在Eclipse中作为运行时,作为Spring boot App 运行。它工作得很好。 REST API使用URL- 在tomcat上部署为WAR 我执行了以下步骤 主类扩展 很少有文档说重写的方法。但在我的示例中,没有方法。我下载了spring tools 4.0 使用生成包。生成的War包名称为 在tomcat(版本)上部署了war包 访问