使用ANT脚本进行JBoss远程部署

时间:2014-09-12 18:46:11

标签: ant jboss

是否可以使用ANT脚本在JBoss上远程部署应用程序(jar文件)?

我发现只有一些建议要复制,但这只能在本地服务器上完成。

2 个答案:

答案 0 :(得分:1)

主要有两种方法可以进行远程JBOSS部署。

  • Cargo 此工具提供ant脚本来执行远程部署/控制JBOSS实例
  • 复制方法。主要步骤是将应用程序文件复制到jboss deploy文件夹,然后通过远程命令启动jboss 例如,您可以使用SCP任务将应用程序文件复制到远程主机,然后使用SSHEXEC任务删除控制JBOSS_BIN / shell以启动/停止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>