【问题标题】:How Do I: Deploy multiple instances of a Mule ESB app in the same environment (same version, multiple instances)如何:在同一环境中部署 Mule ESB 应用程序的多个实例(相同版本,多个实例)
【发布时间】:2015-09-10 22:04:03
【问题描述】:

我们有一个 maven Mule ESB 应用程序,它遵循 Mule 推荐的部署到多个环境的标准。

https://docs.mulesoft.com/mule-user-guide/v/3.7/deploying-to-multiple-environments

如何在相同的环境中部署相同的版本,但配置不同?

现实世界的问题:我没有另一个 mule 许可证(当前价格为 9000 美元)来运行我的 Jenkins 测试,所以我需要一种方法来告诉第二个实例使用 jenkins-override.properties 文件。

有什么想法吗?

我尝试过的: 在网上搜索,没有运气 考虑在 app.zip 名称中命名实例。像这样<app_name>-<version><instance_name>.zip 并以编程方式提取 instance_name 并查找该环境实例名称。

我的 Maven 命令当前是: mvn package -DargLine="-DmyEnv=qa" (只是 -DmyEnv=qa 由于某种原因不起作用,但这是另一个问题)

【问题讨论】:

  • 您对此有什么建议吗?

标签: maven deployment jenkins mule environment


【解决方案1】:

如果您遵循documentation 中的指导方针,您的应用程序将包含几个属性文件,这些文件的名称中包含“环境”标识符。例如,config-production.propertiesconfig-qa.propertiesconfig-development.properties。如果您的目标是根据运行时环境选择要使用的适当属性,您可以使用一些选项。

您的问题暗示您在构建时使用maven filtering${mule.env} 占位符替换为给定的环境。虽然这可行,但这意味着您部署的应用程序将选择相同的属性,而不管它部署到什么环境。

另一个选择是使用 JVM system properties 或环境变量。 Spring(加载这些文件的机制)可以自动将占位符替换为 java 进程启动时提供的值。

实现此目的的一种方法是使用$MULE_HOME/conf/wrapper.conf 提供JVM 系统属性mule.env。只需添加类似于以下内容的行。

wrapper.java.additional.6=-Dmule.env=dev

请务必阅读有关标记为 *** IMPORTANT *** 的其他属性和编号的 cmets。

这样,您可以为每个实例配置不同的环境,例如“生产”和“ci”,并将相同的应用程序 zip 文件部署到两者。

【讨论】:

    【解决方案2】:

    只有在配置 Maven 构建时,运行 maven 才会使用 myEnv 为选定环境配置属性文件。但这会有一个问题,即您将使用不同的打包应用程序。 您可以做的是让应用程序查找其中包含应用程序名称的属性文件。像 ${app.name}.env.properties 之类的东西,当然您需要使用原始名称和不同名称部署应用程序。

    【讨论】:

      【解决方案3】:

      让我理解你的问题。

      您有一个名为 app.zip 的 mule 应用程序,其属性如下: 道具1 = 100

      现在,您需要使用自己的设置部署多个 app.zip 实例:

      app_1.zip
      prop1 = 100
      
      app_2.zip
      prop1 = 200
      
      app_3.zip
      prop1 = 300
      

      这是你的要求吗?

      如果是,MAVEN 可能是满足此要求的解决方案。

      如果不是,我认为可以使用队列和解耦入站的解决方案。

      我等待您的回复,如果您愿意,我可以给您一个使用 maven 的示例配置或队列基本配置示例。

      问候。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-14
        • 1970-01-01
        • 1970-01-01
        • 2013-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多