是否可以使用ANT脚本在JBoss上远程部署应用程序(jar文件)?
我发现只有一些建议要复制,但这只能在本地服务器上完成。
答案 0 :(得分:1)
主要有两种方法可以进行远程JBOSS部署。
答案 1 :(得分:1)
要部署远程,您可以使用jboss中包含的jboss-cli。要使这种方法有效,你必须安装一个本地jboss,因为它包含了jboss-cli jar。然后你需要一个远程主机上的jboss-user,你可以使用add-user。(sh | bat)在远程盒子上创建。然后,您可以使用以下ant-tasks进行部署:
<!-- local installation to find the correct jar -->
<property name="local.jboss.home" value="/path/to/jboss/install/dir" />
<!-- remote parts -->
<property name="remote.jboss.host" value="some.ip" />
<property name="remote.jboss.port" value="9999" />
<property name="remote.jboss.user" value="user" />
<property name="remote.jboss.password" value="password" />
<!-- supposedly this is built by a seperate task -->
<property name="my.deployment" value="${basedir}/build/foo.war" />
<!-- preset to run jboss-cli, this can be used to push any command to a running
jboss instance -->
<presetdef name="jboss-cli">
<java jar="${jboss.home}/jboss-modules.jar" fork="true">
<arg line="-mp ${jboss.home}/modules org.jboss.as.cli" />
<arg value="--controller=${jboss.host}:${jboss.port}" />
<arg value="--user=${jboss.user}" />
<arg value="--password=${jboss.password}" />
<arg value="--connect" />
</java>
</presetdef>
<!-- the exec some command on cli command -->
<target name="exec-jboss">
<jboss-cli failonerror="true">
<arg value="${jboss.command}" />
</jboss-cli>
</target>
<target name="deploy" description="deploys to a running jboss instance">
<antcall target="exec-jboss">
<param name="jboss.home" value="${local.jboss.home}" />
<param name="jboss.host" value="${remote.jboss.host}" />
<param name="jboss.port" value="${remote.jboss.port}" />
<param name="jboss.command" value="deploy ${my.deployment}" />
</antcall>
</target>