环境说明:我用的是weblogic81sp5+apache ant 1.6.5+wincvs2.0.
全部代码:
dailybuild.xml:该xml适用范围
1)weblogic 环境.我的环境是cluster 下的管理服务器.管理服务器是挂在nodemanage下的.(后面会补充关于直接启动非nodemanager管理的管理服务器.)
代码见附件
- 代码分析:
- <target name="check-out-fs">
- <delete dir="${fs.module.name}"/>
- <cvs cvsRoot="${cvsroot}" package="${fs.module.name}" command="checkout ${fs.module.name}" />
- </target>
- Check out cvs,你必须首先安装cvs client,包括wincvs和cvsnt.安装完cvs候需要重启计算机,然后进入cmd.键入cvs,如果安装成功会提示cvs的版本等一些信息.
- cvsRoot 是用于鉴别用户访问权限和路径的.一般写在properties里面,package是你要check out 的Module. command支持cvs命令.such as update delete等..
- <taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy" >
- <classpath location="${weblogic.lib}/weblogic.jar" />
- </taskdef>
- 定义了weblogic deployer类的位置,我们在deploy to weblogic的时候使用的就是Deployer的类.这里将其引入,下面的代码就能够使用wldeploy这个标签了.
- <target name="deploywartoServer" description="Deploy to weblogic">
- <echo message="Deployed ${portlet.warfile.name} to Weblogic AppServer" />
- <wldeploy action="deploy" source="${infoboard.remote.server}/${portlet.warfile.name}" name="${portlet.app.name}" debug="true" targets="${deploy.servername}" adminurl="${weblogic.adminurl}" user="${weblogic.username}" password="${weblogic.password}" />
- </target>
- antion通常有:deploy redeploy start stop等.
- source:你需要部署的war包的位置
- name:war包的名称
- targets:部署应用的目标服务器(cluster or nodemanager)
- adminurl:default is t3://localhost:7001
- username:your weblogic admin user name
- password:your weblogic admin password.
- <target name="reboot-server" description="Starts a managed server">
- <!--Need to invoke lookupNodeManagerRuntime before we can look up the runtime mbean -->
- <java classname="weblogic.Admin" failonerror="false" fork="true" classpathref="weblogic.classpath">
- <arg line="-url ${weblogic.adminurl}" />
- <arg line="-username ${weblogic.username}" />
- <arg line="-password ${weblogic.password}" />
- <arg line=" INVOKE" />
- <arg line="-mbean ${weblogic.domain}:Name=${weblogic.machine},Type=Machine" />
- <arg line="-method lookupNodeManagerRuntime" />
- </java>
- <java classname="weblogic.Admin" failonerror="false" fork="true" classpathref="weblogic.classpath">
- <arg line="-url ${weblogic.adminurl}" />
- <arg line="-username ${weblogic.username}" />
- <arg line="-password ${weblogic.password}" />
- <arg line="-mbean ${weblogic.domain}:Location=${weblogic.adminservername},Name=${weblogic.machine},ServerRuntime=${weblogic.adminservername},Type=NodeManagerRuntime" />
- <arg line="stopcluster -clustername vigcluster" />
- </java>
- <!-- Lookup the NodeManagerRuntimeMBean and give the command to start it. -->
- <java classname="weblogic.Admin" failonerror="false" fork="true" classpathref="weblogic.classpath">
- <arg line="-url ${weblogic.adminurl}" />
- <arg line="-username ${weblogic.username}" />
- <arg line="-password ${weblogic.password}" />
- <arg line="-mbean ${weblogic.domain}:Location=${weblogic.adminservername},Name=${weblogic.machine},ServerRuntime=${weblogic.adminservername},Type=NodeManagerRuntime" />
- <arg line="startcluster -clustername vigcluster" />
- </java>
- </target>
- 重启服务器:这里重启的是cluster下面的基于nodemanager管理的服务器.
- 重启这个服务器需要在weblogic里面配置Machine.
- Log in to the weblogic console.点击左边Machines 然后create 自己的machine,nodemanager的选项默认,然后把你要托管的管理服务器选上,重启weblogic.(不要选择adminserver).
- 关于重启非nodemanager的服务器(代码如下)
- <target name="start-server" depends="stop-server">
- <java classname="weblogic.Server" fork="yes" classpathref="weblogic.classpath" failonerror="true">
- <sysproperty key="weblogic.Domain" value="${weblogic.domain}">
- </sysproperty>
- <sysproperty key="weblogic.NodeManager" value="${weblogic.home}/commom/nodemanager">
- </sysproperty>
- <sysproperty key="weblogic.RootDirectory" value="${weblogic.config.dir}">
- </sysproperty>
- <sysproperty key="weblogic.ConfigFile" value="${weblogic.config.name}">
- </sysproperty>
- <sysproperty key="weblogic.ListenPort" value="7003">
- </sysproperty>
- <sysproperty key="weblogic.ListenAddress" value="">
- </sysproperty>
- <sysproperty key="weblogic.management.server" value="${weblogic.adminurl}">
- </sysproperty>
- <sysproperty key="java.security.policy" value="${weblogic.home}/server/lib/weblogic.policy">
- </sysproperty>
- <sysproperty key="weblogic.Name" value="${weblogic.servername}">
- </sysproperty>
- <arg line="-ms32m -mx200m">
- </arg>
- <arg line="-Xnohup">
- </arg>
- <jvmarg value="-Dcom.vignette.portal.installdir.path=C:VignettePortal" />
- </java>
- </target>
- Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1433564