[转]使用ant进行自动daily build

环境说明:我用的是weblogic81sp5+apache ant 1.6.5+wincvs2.0.

全部代码:

 dailybuild.xml:该xml适用范围

1)weblogic 环境.我的环境是cluster 下的管理服务器.管理服务器是挂在nodemanage下的.(后面会补充关于直接启动非nodemanager管理的管理服务器.)

代码见附件
  1. 代码分析:   
  2.   
  3.     <target name="check-out-fs">  
  4.         <delete dir="${fs.module.name}"/>  
  5.         <cvs cvsRoot="${cvsroot}" package="${fs.module.name}" command="checkout ${fs.module.name}" />  
  6.     </target>  
  7. Check out cvs,你必须首先安装cvs client,包括wincvs和cvsnt.安装完cvs候需要重启计算机,然后进入cmd.键入cvs,如果安装成功会提示cvs的版本等一些信息.   
  8.   
  9. cvsRoot 是用于鉴别用户访问权限和路径的.一般写在properties里面,package是你要check out 的Module. command支持cvs命令.such as update delete等..   
  10.   
  11.     
  12.   
  13.     <taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy" >  
  14.         <classpath location="${weblogic.lib}/weblogic.jar" />  
  15.     </taskdef>  
  16. 定义了weblogic deployer类的位置,我们在deploy to weblogic的时候使用的就是Deployer的类.这里将其引入,下面的代码就能够使用wldeploy这个标签了.   
  17.   
  18.     <target name="deploywartoServer" description="Deploy to weblogic">  
  19.         <echo message="Deployed ${portlet.warfile.name} to Weblogic AppServer" />  
  20.         <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}" />  
  21.     </target>  
  22. antion通常有:deploy redeploy start stop等.   
  23.   
  24. source:你需要部署的war包的位置   
  25.   
  26. name:war包的名称   
  27.   
  28. targets:部署应用的目标服务器(cluster or nodemanager)   
  29.   
  30. adminurl:default is t3://localhost:7001   
  31.   
  32. username:your weblogic admin user name   
  33.   
  34. password:your weblogic admin password.   
  35.   
  36.     
  37.   
  38.     <target name="reboot-server" description="Starts a managed server">  
  39.         <!--Need to invoke lookupNodeManagerRuntime before we can look up the runtime mbean -->  
  40.         <java classname="weblogic.Admin" failonerror="false" fork="true" classpathref="weblogic.classpath">  
  41.             <arg line="-url ${weblogic.adminurl}" />  
  42.             <arg line="-username ${weblogic.username}" />  
  43.             <arg line="-password ${weblogic.password}" />  
  44.             <arg line=" INVOKE" />  
  45.             <arg line="-mbean ${weblogic.domain}:Name=${weblogic.machine},Type=Machine" />  
  46.             <arg line="-method lookupNodeManagerRuntime" />  
  47.         </java>  
  48.            
  49.         <java classname="weblogic.Admin" failonerror="false" fork="true" classpathref="weblogic.classpath">  
  50.             <arg line="-url ${weblogic.adminurl}" />  
  51.             <arg line="-username ${weblogic.username}" />  
  52.             <arg line="-password ${weblogic.password}" />  
  53.             <arg line="-mbean ${weblogic.domain}:Location=${weblogic.adminservername},Name=${weblogic.machine},ServerRuntime=${weblogic.adminservername},Type=NodeManagerRuntime" />  
  54.             <arg line="stopcluster -clustername vigcluster" />  
  55.         </java>  
  56.            
  57.         <!-- Lookup the NodeManagerRuntimeMBean and give the command to start it. -->  
  58.         <java classname="weblogic.Admin" failonerror="false" fork="true" classpathref="weblogic.classpath">  
  59.             <arg line="-url ${weblogic.adminurl}" />  
  60.             <arg line="-username ${weblogic.username}" />  
  61.             <arg line="-password ${weblogic.password}" />  
  62.             <arg line="-mbean ${weblogic.domain}:Location=${weblogic.adminservername},Name=${weblogic.machine},ServerRuntime=${weblogic.adminservername},Type=NodeManagerRuntime" />  
  63.             <arg line="startcluster -clustername vigcluster" />  
  64.         </java>  
  65.     </target>  
  66. 重启服务器:这里重启的是cluster下面的基于nodemanager管理的服务器.   
  67.   
  68. 重启这个服务器需要在weblogic里面配置Machine.   
  69.   
  70. Log in to the weblogic console.点击左边Machines 然后create 自己的machine,nodemanager的选项默认,然后把你要托管的管理服务器选上,重启weblogic.(不要选择adminserver).   
  71.   
  72. 关于重启非nodemanager的服务器(代码如下)   
  73.   
  74.     <target name="start-server" depends="stop-server">  
  75.         <java classname="weblogic.Server" fork="yes" classpathref="weblogic.classpath" failonerror="true">  
  76.             <sysproperty key="weblogic.Domain" value="${weblogic.domain}">  
  77.             </sysproperty>  
  78.             <sysproperty key="weblogic.NodeManager" value="${weblogic.home}/commom/nodemanager">  
  79.             </sysproperty>  
  80.             <sysproperty key="weblogic.RootDirectory" value="${weblogic.config.dir}">  
  81.             </sysproperty>  
  82.             <sysproperty key="weblogic.ConfigFile" value="${weblogic.config.name}">  
  83.             </sysproperty>  
  84.             <sysproperty key="weblogic.ListenPort" value="7003">  
  85.             </sysproperty>  
  86.             <sysproperty key="weblogic.ListenAddress" value="">  
  87.             </sysproperty>  
  88.             <sysproperty key="weblogic.management.server" value="${weblogic.adminurl}">  
  89.             </sysproperty>  
  90.             <sysproperty key="java.security.policy" value="${weblogic.home}/server/lib/weblogic.policy">  
  91.             </sysproperty>  
  92.             <sysproperty key="weblogic.Name" value="${weblogic.servername}">  
  93.             </sysproperty>  
  94.             <arg line="-ms32m -mx200m">  
  95.             </arg>  
  96.             <arg line="-Xnohup">  
  97.             </arg>  
  98.             <jvmarg value="-Dcom.vignette.portal.installdir.path=C:VignettePortal" />  
  99.         </java>  
  100.     </target>  
  101.   
  102.   
  103. Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1433564  
  104.   

你可能感兴趣的:(应用服务器,ant,weblogic,配置管理,cvs)