使用WSAdmin和ANT自动部署websphere6.1

来源:互联网 发布:分开旅行 知乎 编辑:程序博客网 时间:2024/05/29 04:36

[was1@dmgr ~]$ sh /wasprofiles/uatdmgr/bin/wsadmin.sh -conntype SOAP -host 10.10.7.9 -port 8881 -user 11111 -password 1111111 -c '$AdminApp install /ceshi1.war { -cluster c01 -contextroot ceshi1 -appname ceshi1 -usedefaultbindings }'

一、WSAdmin介绍
WSAdmin是websphere6.1的管理控制台命令行工具,可以使用它与Websphere application server进行交互,或通过Jacl脚本运行管理命令。工具位于$WAS_HOME/bin目录下。

 

二、连接部署管理服务器
定位集群的部署管理服务器地址和端口号,我们测试环境的CellManager地址为192.168.20.38,端口为8879。
使用默认的SOAP方式连接。

wsadmin -conntype SOAP -host 192.168.20.38 -port 8879 -user admin -password ******

 

三、日常维护脚本
1、列出集群节点
$AdminConfig list Node


2、列出集群应用服务器
$AdminConfig list Server


3、列出应用服务
$AdminApp list


4、启动单个服务器
$AdminControl invoke [$AdminControl queryNames type=NodeAgent,node=test-95Node01,*] launchProcess server35


5、停止单个服务器
$AdminControl invoke [$AdminControl queryNames type=Server,node=test-95Node01,name=server35,*] stop


6、安装服务到集群
$AdminApp install e:/hello.war {-cluster b2bpool -contextroot hello -appname hello -usedefaultbindings}
$AdminControl save


7、开启服务
$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,node=test-38Node01,*] startApplication hello

$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,node=test-95Node01,*] startApplication hello
8、停止服务
$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,process=server1,*] stopApplication hello


$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,process=server35,*] stopApplication hello


9、更新服务(war包)到集群
$AdminApp update hello app {-operation update -cluster b2bpool -contextroot hello -contents e:/hello.war}
$AdminControl save


10、更新服务(单个文件)到集群
$AdminApp update hello file {-operation update  -cluster b2bpool -contextroot hello -contents e:/hello.jar -contenturi hello.war/WEB-INF/lib/hello.jar}
$AdminControl save


11、更新服务到节点
$AdminApp update hello app {-operation update -node test-95Node01 -contextroot hello -contents e:/hello.war}
$AdminControl save

 

 

四、使用ant自动部署websphere
1、websphere6.1的ws_ant工具在$WAS_HOME/bin下。
   使用的是$WAS_HOME/plugins/com.ibm.ws.runtime_6.1.0.jar中的任务,也可以自定义任务,更新任务com.ibm.websphere.ant.tasks.UpdateApplication就是自定义的。

 

2、编写builder.xml部署文件
<project name="wasant" basedir="." default="updateAndStart">
 <property name="was.root" value="E:/IBM/WebSphere/AppServer" />
     <property name="wsanttasks.jar" value="${was.root}/plugins/com.ibm.ws.runtime_6.1.0.jar"/>
     <property name="app.name" value="hello"/>
     <property name="ear.file" value="E:/hello.war"/>
 <property name="contextroot" value="hello"/>
 <property name="cluster" value="b2bpool"/>
 <!--登录信息 192.168.20.38 8879-->
     <property name="username" value="admin"/>
        <property name="password" value="******"/>
        <property name="host" value="192.168.20.38"/>
        <property name="port" value="8879"/>
        <property name="conntype" value="SOAP"/>
 <!-- 使用到的任务 -->
    <taskdef name="wsStartServer" classname="com.ibm.websphere.ant.tasks.StartServer" classpath="${wsanttasks.jar}" />
    <taskdef name="wsStopServer" classname="com.ibm.websphere.ant.tasks.StopServer" classpath="${wsanttasks.jar}" />
    <taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsUpdateApp" classname="com.ibm.websphere.ant.tasks.UpdateApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsUninstallApp" classname="com.ibm.websphere.ant.tasks.UninstallApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsStartApp" classname="com.ibm.websphere.ant.tasks.StartApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsStopApp" classname="com.ibm.websphere.ant.tasks.StopApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsListApps" classname="com.ibm.websphere.ant.tasks.ListApplications" classpath="${wsanttasks.jar}" />
    <taskdef name="wsAdmin" classname="com.ibm.websphere.ant.tasks.WsAdmin" classpath="${wsanttasks.jar}" />
 <!-- 更新应用-->
 <target name="wsUpdateApp" description="Update Application ${app.name}">
         <wsUpdateApp user="${username}" password="${password}" host="${host}"
             ear="${ear.file}" appname="${app.name}" port="${port}" conntype="${conntype}" washome="${was.root}"
             options="-operation update -cluster ${cluster} -contextroot ${contextroot} -contents ${ear.file}">
         </wsUpdateApp>
 </target>

 <!-- 实际的任务组合    -->
 <target name="updateAndStart" description="Update and Save ${app.name}">
  <antcall target="wsUpdateApp"/>
 </target>
</project>

 

3、编写shell定时运行ant实现部署

0 0
原创粉丝点击