AIX系统下运行ant发布更新WPS,WAS应用,以及Cluster的情况下

AIX系统下运行ant发布更新WPS,WAS应用,以及Cluster的情况下
 
如需转载,请标明出处,尊重作者权利, http://www.chinacsharp.net  http://blog.csdn.net/keyboardsun author:keyboardsun@163.com
 
现在我们的应用系统在修改代码过后用ant打包,打包完了要求自动更新到服务器,一个是普通的单个服务器,另外一个是集群。情景模式如下。
 
一台IBM P550 IP:10.9.132.250 host:P550_250 节点是NODE1 server为server1
一个集群:IP:10.9.132.248 host:P550_248 Cluster:WPSCluster 包括两个节点QB125Node01,QB126Node01,两个节点各有两个server,分别为WPS001,WPS002
 
下面我们来设计:
首先我们得在ant的xml里面写上调用ksh脚本的代码吧。
然后在.sh脚本代码里面运行wsadmin,然后调用jacl文件完成发布。
 
好的,现在我们来设计xml,设计之前我来告诉大家几个秘密:
 
第一:对于cluster,安装的时候有参数的,可以安装发布到cluster,但是停止的时候得每个server一个一个的停,启动的时候也是,但是呢,在卸载的时候,只需卸载一个server的就可以了,不用每个server都卸载
第二:安装cluster的应用的时候,安装完成直接启动会报错,因为应用其实还没有完全发布到每个server,这里需要等待一段时间过后再启动。
 
 
这里我们的文件如下
Build.xml  , 用于调用deploy.xml代码
deploy.xml, 用于执行deploy.sh代码
deploy.sh用于执行jacl代码
uwfe248.jacl  用于安装更新P550_248机器应用
uwfe250.jacl   用于安装更新P550_250机器应用
uwfe_startapp.jacl  用于在cluster安装完成以后启动应用
startApp248.jacl用于启动cluster发布的应用
 
下面我们来设计xml。
 
我们build.xml的吧
<?xml version="1.0" encoding="UTF-8"?>
<project name="UWFE4_WPS_ALL" default="all"  basedir=".">
  <target name="all" >
   ……..这里省略编译java,打包ear的代码…..
      <ant antfile="${HOME}/antbuild/deploy.xml" inheritAll="false"  target="deploy"/>
  </target>
</project>
 
这里的deploy.xml就是调用sh脚本的啦。
这里脚本在后面有sleep 60秒,然后再启动应用的
<?xml version="1.0" encoding="UTF-8"?>
<project name="UWFE4_WPS_ALL" default="deploy" basedir="."> 
       <target name="startApp" >
    <exec executable="/bin/ksh">
    <arg line="deployapp.sh"/>
  </exec>
  </target> 
      <target name="deploy"  depends="startApp">
        <echo message="begin"/>
             <sleep seconds="60"/>
             <echo message="end"/>
           <exec executable="/bin/ksh">
                         <arg line="deploy_startapp.sh"/>
                  </exec>
  </target>
</project>
 
Deploy.sh的代码为
 
/usr/IBM/WebSphere/ProcServer/bin/wsadmin.sh -conntype SOAP -host QB_WMS_P550_125 -port 8879 -f UWFE248.jacl
/usr/IBM/WebSphere/ProcServer/bin/wsadmin.sh -conntype SOAP -host QB_WMS_P550_127 -port 8880 -f UWFE250.jacl
 
uwfe248.jacl代码为
puts "-------------------------------------------------------------------"
puts "—开始执行jacl代码啦 --"
puts "-------------------------------------------------------------------"
 
#这是我们要发布的应用的存放路径
set EARDIR /home/uwfe/UWFE_SOURCE/antbuild/target/ear/UWFE.ear
#这是我们要发布的应用的名称
set APPNAME UWFE
#这是我们要发布的应用的cluster名称
set CLUSTERNAME WPSCluster 
set NODE [$AdminControl getNode]
#简单的理解,取得当前的上下文
puts "-----------------------------------------------------------------"
puts "--                      stoping App                            --"
puts "-----------------------------------------------------------------"
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB125Node01,process=WPS001,*]
$AdminControl invoke $APPMANAGER stopApplication UWFE
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB125Node01,process=WPS002,*]
$AdminControl invoke $APPMANAGER stopApplication UWFE
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB126Node01,process=WPS001,*]
$AdminControl invoke $APPMANAGER stopApplication UWFE
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB126Node01,process=WPS002,*]
$AdminControl invoke $APPMANAGER stopApplication UWFE
puts "-----------------------------------------------------------------"
puts "--                      stoped  App                            --"
puts "-----------------------------------------------------------------"
 
puts "-----------------------------------------------------------------"
puts "--                      uninstalling  App                      --"
puts "-----------------------------------------------------------------"
 
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB125Node01,process=WPS001,*]
$AdminApp uninstall UWFE
 
puts "-----------------------------------------------------------------"
puts "--                      uninstalled  App                       --"
puts "-----------------------------------------------------------------"
 
 
puts "-----------------------------------------------------------------"
puts "--                      saveing config                         --"
puts "-----------------------------------------------------------------"
$AdminConfig save
 
puts "-----------------------------------------------------------------"
puts "--                      saved config                           --"
puts "-----------------------------------------------------------------"
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB125Node01,process=WPS001,*]
 
 
puts "-----------------------------------------------------------------"
puts "--                       Installing App                        --"
puts "-----------------------------------------------------------------"
 
$AdminApp install $EARDIR {-cluster WPSCluster -appname UWFE}
 
puts "-----------------------------------------------------------------"
puts "--                       Installed  App                        --"
puts "-----------------------------------------------------------------"
 
puts "-----------------------------------------------------------------"
puts "--                      saveing config                         --"
puts "-----------------------------------------------------------------"
$AdminConfig save
 
puts "-----------------------------------------------------------------"
puts "--                      saved config                           --"
puts "-----------------------------------------------------------------"
 
puts "-----------------------------------------------------------------"
puts "--            安装程序成功,下面等待项目启动,可能需要1分钟    --"
puts "-----------------------------------------------------------------"
 
uwfe250.jacl代码为
 
puts "-------------------------------------------------------------------"
puts "—开始执行jacl代码啦 --"
puts "-------------------------------------------------------------------"
 
#这是我们要发布的应用的存放路径
set EARDIR /home/uwfe/UWFE_SOURCE/antbuild/target/ear/UWFE.ear
#这是我们要发布的应用的名称
set APPNAME UWFE
set NODE [$AdminControl getNode]
#简单的理解,取得当前的上下文
puts "-----------------------------------------------------------------"
puts "--                      stoping App                            --"
puts "-----------------------------------------------------------------"
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=$NODE,process=server1,*]
 
$AdminControl invoke $APPMANAGER stopApplication UWFE
puts "-----------------------------------------------------------------"
puts "--                      stoped  App                            --"
puts "-----------------------------------------------------------------"
 
puts "-----------------------------------------------------------------"
puts "--                      uninstalling  App                      --"
puts "-----------------------------------------------------------------"
 
$AdminApp uninstall UWFE
 
puts "-----------------------------------------------------------------"
puts "--                      uninstalled  App                       --"
puts "-----------------------------------------------------------------"
 
 
puts "-----------------------------------------------------------------"
puts "--                      saveing config                         --"
puts "-----------------------------------------------------------------"
$AdminConfig save
 
puts "-----------------------------------------------------------------"
puts "--                      saved config                           --"
puts "-----------------------------------------------------------------"
 
 
puts "-----------------------------------------------------------------"
puts "--                       Installing App                        --"
puts "-----------------------------------------------------------------"
 
$AdminApp install $EARDIR {-appname UWFE}
 
puts "-----------------------------------------------------------------"
puts "--                       Installed  App                        --"
puts "-----------------------------------------------------------------"
 
puts "-----------------------------------------------------------------"
puts "--                      saveing config                         --"
puts "-----------------------------------------------------------------"
$AdminConfig save
 
puts "-----------------------------------------------------------------"
puts "--                      saved config                           --"
puts "-----------------------------------------------------------------"
 
puts "-----------------------------------------------------------------"
puts "--              starting appliacation                          --"
puts "-----------------------------------------------------------------"
 
$AdminControl invoke $APPMANAGER startApplication UWFE
 
puts "-----------------------------------------------------------------"
puts "--              started  appliacation                          --"
puts "-----------------------------------------------------------------"
puts "-----------------------------------------------------------------"
puts "--              10.9.132.250 程序成功启动                      --"
puts "-----------------------------------------------------------------"
 
startApp248.jacl代码
puts "-----------------------------------------------------------------"
puts "--              starting appliacation                          --"
puts "-----------------------------------------------------------------"
 
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB125Node01,process=WPS001,*]
$AdminControl invoke $APPMANAGER startApplication UWFE
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB125Node01,process=WPS002,*]
$AdminControl invoke $APPMANAGER startApplication UWFE
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB126Node01,process=WPS001,*]
$AdminControl invoke $APPMANAGER startApplication UWFE
set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=QB126Node01,process=WPS002,*]
$AdminControl invoke $APPMANAGER startApplication UWFE
 
puts "-----------------------------------------------------------------"
puts "--              started  appliacation                          --"
puts "-----------------------------------------------------------------"
puts "-----------------------------------------------------------------"
puts "--              程序成功启动                                   --"
puts "-----------------------------------------------------------------"
 
这里在命令行执行ant 就可以啦,程序编译好了会自动更新服务器上面的应用的,是不是很爽呢。
 
如需转载,请标明出处,尊重作者权利, http://www.chinacsharp.net  http://blog.csdn.net/keyboardsun author:keyboardsun@163.com
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值