【问题标题】:Run bash script after application is deployed部署应用程序后运行 bash 脚本
【发布时间】:2021-12-25 14:20:53
【问题描述】:

我们有一个 Maven 项目,它在构建阶段结束时导出一个“ear”文件。 应用服务器是 Weblogic 12C。服务器由 4 个节点组成。部署应用程序后,当机器状态处于活动状态时,我们必须运行 3 个脚本才能正确设置应用程序。它们是 3 个用于翻译的脚本之类的。 这意味着我们总是在部署后立即执行一些任务,并且可能会被操作员遗漏。 我想知道是否有办法将这些脚本放在 ear 文件中以便在部署后运行或在部署完成时调用它们。

【问题讨论】:

  • 问:有没有办法把这些脚本放在ear 文件中部署后运行? A:你考虑过在你的 Maven build.xml 中加入“安装后”脚本吗?或者您是否考虑过使用 Bamboo 或 Jenkins(以及许多其他 options)之类的东西?
  • @paulsm4 感谢您的回复。我对“安装后”一无所知,我会了解它。但是关于 Bamboo 和 Jenkins,因为部署是在我们的客户环境中进行的,我们不能使用 DevOps 设施。我们可以给他们ear文件和用户手册来安装它。
  • 我假设 .ear 是使用 Maven“build,.xml”部署的,我建议将“安装后”脚本添加到 build.xml。问:最终用户如何部署 .ear?他们是在使用 Maven,还是“其他东西”?
  • @paulsm4 他们只是从我们那里得到 .ear 并将其放在一个目录中,然后通过 Weblogic 控制台菜单中的部署选项进行部署。
  • WebLogic Server 支持允许在部署/取消部署的特定阶段运行 java 代码的应用程序生命周期事件。看看documentation 看看这是否能满足您的需求。

标签: java weblogic12c ear script


【解决方案1】:

WebLogic Server 支持允许在部署/取消部署的特定阶段运行 java 代码的应用程序生命周期事件。查看文档,看看这是否能满足您的需求。

【讨论】:

  • 你是对的,我可以通过不同阶段(停止/启动部署和活动/关闭服务器)的 weblogic 侦听器来做到这一点,但另一个问题发生在我身上。我们处于具有 4 个节点的集群模式,我希望我的脚本只运行一次,并且由一个节点运行,该节点应该是最后一个节点。问题是如何以编程方式确定集群中的节点数量以及最后一个活动节点是哪一个?节点管理器有提供什么设施吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
  • 2017-07-16
  • 1970-01-01
  • 2016-08-14
  • 2017-04-07
  • 2016-05-19
  • 1970-01-01
相关资源
最近更新 更多