我是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
答案 0 :(得分:0)
使用命令插件无法实现。您可以使用alwaysRun
的{{3}}选项。
更好的办法是在单独的插件中指定此名称,然后使用xld-advanced-command-plugin定义需要执行的内容。这会将命令插件的脚本部分移到基于模型的方法中,该方法具有更大的可扩展性。