场景一 一个jboss容器内只部署一个服务 standalone模式
这种情况下,解决方案很多。目前再用的是通过jenkins的punish over ssh 将构建好的war包放到目标主机上,然后直接使用命令查找到jboss进程ID,然后kill掉。替换war包后重启jboss即可。当然也可以通过命令行
$JBOSS_HOME/bin/jboss-cli.sh --connect ip:port --comands='shutdown'
场景二 一个jboss容器中部署多个服务 standalone模式
这种情况下使用场景一的方式,在更新一个服务的时候所有服务都要重启,消耗时间过长。所以采用命令行模式undeploy掉部署的war包,然后再deploy新的war
$JBOSS_HOME/bin/jboss-cli.sh --connect ip:port --comands='undeploy $war'
$JBOSS_HOME/bin/jboss-cli.sh --connect ip:port --comands='deploy $path/$war'
$JBOSS_HOME/bin/jboss-cli.sh --connect ip:port --comands='reload'
实际操作过程中,通过jenkins出发脚本,一直触发的是远程连接 ,要求输入用户名密码。