`
laorer
  • 浏览: 433694 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

    博客分类:
  • j2EE
阅读更多

环境说明:我用的是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.   
分享到:
评论

相关推荐

    使用hudson 搭建daily build 系统

    ### 使用Hudson搭建Daily Build系统 #### 概述 在软件开发过程中,为了确保代码质量并及时发现问题,很多团队会选择实施“每日构建”(Daily Build)机制。所谓每日构建,是指按照固定周期(通常是每天)对项目的...

    ant daily build 学习五(findbugs多文件合并细节问题)

    在Ant Daily Build的学习过程中,我们经常会遇到各种工具的使用,比如FindBugs,它是一款用于静态代码分析的工具,能够帮助开发者找出潜在的错误和不良编程习惯。本篇将聚焦于FindBugs在处理多个文件合并时的具体...

    hudson自动构建文档

    本文档将深入探讨Hudson的安装、配置、使用方法以及如何搭建远程自动构建和daily_build系统。 1. **Hudson安装** 安装Hudson通常涉及几个步骤:首先,下载最新版本的Hudson war文件,可以从官方网站获取。然后,将...

    build_tool:众多构建 andoird apk

    build_tool multitude build andoird apks ...2、 修改ant.properties件中的 key.store=C:\Users\zhangying-pd\Desktop\daily.keystore(keystore件位置) 3、 安装ant,并配置ant环境变量 4、 配置andriod sdk环境变量

    每日构建的东西(.net)

    每日构建(Daily Build)在IT行业中,特别是在软件开发领域,是一项至关重要的实践。它通过自动化的方式,每天定期地对项目的源代码进行编译、测试和打包,以确保项目的稳定性,并及时发现并修复潜在的错误。这有助...

    Android代码-Android超快速构建工具

    Developed and used by Ant Fortune (about us) Android Team, Freeline has been significantly saving time in daily work. Inspiring by Buck and Instant Run but faster than ever, Freeline can mak

    QUality Aware Middleware-开源

    9. **build.xml**:Ant构建文件,用于自动化构建过程。 10. **platform**:可能是一个目录,包含了针对不同平台的特定资源或构建脚本。 综上所述,QUAM项目为开发者提供了一种强大的工具,用以在CORBA环境中实现...

Global site tag (gtag.js) - Google Analytics