2014-09-12 75 views

回答

1

主要有兩種做遠程JBOSS部署的方法。

  • Cargo 此工具提供了Ant腳本進行遠程部署/控制JBOSS實例
  • 複製的方法。主要步驟是將應用程序文件複製到jboss deploy文件夾,然後通過遠程命令啓動jboss。
    例如,您可以使用SCP任務將應用程序文件複製到遠程主機,然後使用SSHEXEC任務刪除控制JBOSS_BIN/shell以啓動/停止jboss實例。
1

要部署遠程,您可以使用包含在jboss中的jboss-cli。爲了使這個方法有效,你必須有一個本地的jboss安裝,因爲它包含了jboss-cli jar。然後,您將需要遠程主機上的jboss用戶,您可以使用遠程盒上的add-user。(sh | bat)創建該用戶。然後您可以使用以下螞蟻任務進行部署:

<!-- 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> 
相關問題