0

我是 XL Deploy 的新手。我们在 pom 中定义了一个 XL Deploy 命令,以便在应用程序升级后执行。这在第一次安装应用程序时有效,但在后续升级时不会运行。要强制它运行,我们必须通过 XLD 取消部署应用程序,然后重新部署它,然后命令才会执行。

<cmd.Command name="appname-{{env}}-Restart-App">
    <tags>
        <value>node02</value>
        <value>node01</value>
    </tags>
    <commandLine>sudo /usr/bin/systemctl restart app-service-name</commandLine>
    <order>90</order>

    <undoCommandLine>ls -al</undoCommandLine>
    <undoOrder>49</undoOrder>
    <undoCommand ref="appname-{{env}}-Restart-App" />
    <runUndoCommandOnUpgrade>true</runUndoCommandOnUpgrade>
</cmd.Command>

我希望每次升级应用程序时都会运行该命令,但事实并非如此。为什么不?

使用 Maven 3,xldeploy-maven-plugin 5.1.0

4

1 回答 1

0

使用命令插件是不可能的。您可以使用xld-advanced-command-plugin它有一个选项用于alwaysRun. 更好的是在单独的插件中指定它并使用规则来定义需要执行的内容。这会将命令插件的脚本部分移到基于模型的方法中,这种方法更具可扩展性。

于 2018-09-21T17:13:11.337 回答