jboss6.4 域模式自动部署

1.通过jenkins传递部署包到服务器,调用自动部署shell完成jboss6.4的域模式部署;

2.自动部署shell如下:

完成部署包重命名(从jenkins过来的包可能没有改名;)、

调用jboss cli命令(分2步,首先从group里移除已部署的包就算没有也没关系,再将部署包部署到指定group)、

备份移除部署包(将部署包备份到指定文件夹以防部署回退,并删除该部署包);

#!/bin/bash

export LANG="zh_CN.UTF-8"

export JAVA_HOME=/opt/app/jdk1.8.0_66

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

echo $PATH

jboss='/opt/app/jboss-eap-6.4/bin'

datas='/var/mydatas/LGHA_data'

war='lgha.war'

war_dir='lgha_web'

src_war='lgha-web-1.0.war'

if [ ! -f "${datas}/${war_dir}/temp/${src_war}" ];then

echo "not exist ${src_war}"

exit 1

fi

mv ${datas}/${war_dir}/temp/${src_war} ${datas}/${war_dir}/temp/${war}

#sh ${jboss}/jboss-cli.sh --file=${datas}/scripts/jboss_lgha

sh ${jboss}/jboss-cli.sh --commands="connect 172.21.129.85:9999,undeploy ${war} --server-groups=my_group_8090"

sh ${jboss}/jboss-cli.sh --commands="connect 172.21.129.85:9999,deploy /var/mydatas/LGHA_data/${war_dir}/temp/${war} --server-groups=my_group_8090,quit"

echo 'invoke jboss-cli'

mv ${datas}/${war_dir}/temp/${war} ${datas}/${war_dir}/$(date +%Y%m%d-%H%M%S)_${war}

echo 'backup file'

上面加了export java的path;主要是有时jenkins里远程执行shell时,看不到java路径,需要显示的设置下~

 

3.jboss启动停止命令

域模式

alias jbstart='nohup sh ${JBOSS_HOME}/bin/domain.sh &'

alias jbstop='${JBOSS_HOME}/bin/jboss-cli.sh --connect /host=master:shutdown'

posted @ 2016-04-15 10:10  sl521100  阅读(725)  评论(0编辑  收藏  举报