




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
持续集成-自动化集成脚本自动化集成脚本指南1 概述1.1 概念持续集成就是用一套工具自动化地接管代码构建的整个生命周期。在这么一个流程中主要需要三类工具:代码配置管理工具:本项目使用SVN构建工具: 本项目使用MAVEN打包工具:本项目使用MAVEN插件maven-war-plugin, maven-compiler-plugin等1.2 工具列表1.2.1 SVN客户端Windows版:TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。第一步,如图1,创建一个新文件夹作为本地工作目录(Working directory),可以使用应用名为文件夹名。建立本地工作目录。第二步,从SVN仓库检出(checkout)一个应用的全部版本代码,如图2,右键点击“SVN Checkout”在弹出页面中填写仓库URL即可,其它默认参数即可,如图3:Reversion处,“HEAD revision”是指最新版,也可以指定Revision为任意一个版本。点击“OK”,出现下载界面,如图4:如果一切顺利,vyes应用所有版本代码将会全部出现在刚刚创建的HuaanUM文件夹下文件夹,如图5:Linux版:Linux 下subversion服务端与客户端的都是使用一样的软件subversion。只不过linux下一般没有界面,所有操作都可以通过命令行来完成。如:A) 更新到本地svn upB) 修改后提交到库commit hello.cppsvn upC) 新增一个文件到库(进入src/include目录)svn up #更新本地工作目录svn add hello.h #添加到库commit hello.h #提交hello.h到库svn up #更新本地工作目录D)删除库上一个文件(进入src/demo目录)# svn del hello.cpp 删除库中的hello.cpp文件# commit hello.cpp 提交到库# svn up 更新本地工作目录1.2.2 MAVENMAVEN是不区分windows或linux平台的。因为它本身是使用JAVA语言开发的。在bin目录下已经有bat和linux 下两种格式可执行的文件了Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。1.2.3 MAVEN插件Maven的核心是它的生命周期,生命周期什么都不做,因此Maven的安装文件很小。所有的事情都交给了插件来完成。比如说,Maven的default生命周期中定义了一个compile阶段,这个定义本身什么都不会做,真正编译代码的是Compiler插件,它的groupId是org.apache.maven.plugins,artifactId是maven-compiler-plugin。在Maven中,生命周期定义了编译,测试,打包,部署等等阶段,而插件会去实现这些对应的阶段,如上面提到的Compiler插件实现了如何编译。2 环境部署2.1 SVN客户端Tortoise SVN 安装界面TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,不需要为使用它而付费第一步: 点击TortoiseSVN-7493-win32-svn-1.6.6.msi 2. 3. 4. 5. 6. 7.最终安装完成后,系统提示是否重启,点击yes (因为不重启可能会造成显示不正确) 8.我们如何判断客户端安装成功呢在任一文件夹中点击鼠标右键,如果显示如下图所示,说明安装是成功了的 最后在PATH里增加C:Program FilesTortoiseSVNbin 以确保在命令行里可以运行2.2 MAVEN客户端2.2.1 在Windows上安装Maven 检查JDK安装在安装Maven之前,首先要确认你已经正确安装了JDK。Maven可以运行在JDK 1.4及以上的版本上。本书的所有样例都基于JDK 5及以上版本。打开Windows的命令行,运行如下的命令来检查你的Java安装:C:UsersJuven Xuecho %JAVA_HOME%C:UsersJuven Xujava -version结果如图2-1所示:图2-1 Windows中检查Java安装上述命令首先检查环境变量JAVA_HOME是否指向了正确的JDK目录,接着尝试运行java命令。如果Windows无法执行java命令,或者无法找到JAVA_HOME环境变量。你就需要检查Java是否安装了,或者环境变量是否设置正确。关于环境变量的设置,请参考2.1.3节。 下载Maven请访问Maven的下载页面:/download.html,其中包含针对不同平台的各种版本的Maven下载文件。对于首次接触Maven的读者来说,推荐使用Maven 3.0,因此下载apache-maven-3.0-bin.zip。当然,如果你对Maven的源代码感兴趣并想自己构建Maven,还可以下载apache-maven-3.0 -src.zip。该下载页面还提供了md5校验和(checksum)文件和asc数字签名文件,可以用来检验Maven分发包的正确性和安全性。在本书编写的时候,Maven 2的最新版本是2.2.1,Maven 3基本完全兼容Maven 2,而且较之于Maven 2它性能更好,还有不少功能的改进,如果你之前一直使用Maven 2,现在正犹豫是否要升级,那就大可不必担心了,快点尝试下Maven 3吧!3本地安装将安装文件解压到你指定的目录中,如:D:binjar xvf C:UsersJuven XuDownloadsapache-maven-3.0-bin.zip这里的Maven安装目录是D:binapache-maven-3.0,接着需要设置环境变量,将Maven安装配置到操作系统环境中。打开系统属性面板(桌面上右键单击“我的电脑”“属性”),点击高级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录D:binapache-maven-3.0。点击确定,接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上%M2_HOME%bin;,注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成,详细情况如图2-2所示: 图2-2 Windows中系统环境变量配置这里需要提一下的是Path环境变量,当我们在cmd中输入命令时,Windows首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Windows会接着遍历环境变量Path中定义的路径。由于我们将%M2_HOME%bin添加到了Path中,而这里%M2_HOME%实际上是引用了我们前面定义的另一个变量,其值是Maven的安装目录。因此,Windows会在执行命令时搜索目录D:binapache-maven-3.0bin,而mvn执行脚本的位置就是这里。明白了环境变量的作用,现在打开一个新的cmd窗口(这里强调新的窗口是因为新的环境变量配置需要新的cmd窗口才能生效),运行如下命令检查Maven的安装情况:C:UsersJuven Xuecho %M2_HOME%C:UsersJuven Xumvn -v运行结果如图2-3所示:图2-3 Windows中检查Maven安装第一条命令echo %M2_HOME%用来检查环境变量M2_HOME是否指向了正确的Maven安装目录;而mvn version执行了第一条Maven命令,以检查Windows是否能够找到正确的mvn执行脚本。2.2.2 Linux下安装MAVEN此节可以参见华安安装MAVEN私服文档前面安装MAVEN部分。 JDK的安装.首先 确认JDK版本. java -version 屏幕输出: java version jdk1.6.0_02 Java(TM) 2 Runtime Environment, Standard Edition (build jdk1.6.0_02) Java HotSpot(TM) Client VM (build jdk1.6.0_02, mixed mode)如果是新的linux 服务器,那么JDK的版本应该是1.4的。这是linux系统自带的JRE。则需要安装JDK1.6或1.7(7.0)本文下面的安装选择的是JDK7.0使用的是2.JDK7.0 jdk-7u1-linux-x64.tar.gz Linux 下JDK安装文件一般有三种形式。jdk-6u11-linux-i586-rpm.binjdk-6u11-linux-i586.binjdk-7u1-linux-x64.tar.gz注意上面文件的结尾。1 以BIN结尾的就是一个可执行文件。当用工具COPY到linux相应的目录下。直接执行就可以了。如果不能执行,则是文件没有执行权限。使用。#chmod 755 ./ jdk-6u11-linux-i586.bin 运行完成后,则目录下就多了一个JDK的目录。就可以进行JDK的环境变量的设置了。2 以rpm.bin结尾的文件。首先这是一个可执行文件。要执行一次。但是执行完之后,本目录下并没有多出一个JDK的目录,而是多了一个以rpm结尾的文件。使用。# rpm -ivhjdk-6u11-linux-i586-rpm 将RPM解开。运行完成后,则目录下就多了一个JDK的目录。就可以进行JDK的环境变量的设置了。3 以tar.gz结尾的文件。这是一个TAR包。使用命令。# tar -zxvf ./ jdk-7u1-linux-x64.tar.gz运行完成后,则目录下就多了一个JDK的目录。就可以进行JDK的环境变量的设置了。 配置JDK环境变量配置环境变量有2种方式:01.修改.bashrc文件或者.bash_profile文件,此两文件一般在用户(非root)的主文件夹下。在文件中加入:#vi .bash_profileJAVA_HOME=/usr/java/jdk1.7.0_01PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME JAVA_BIN PATH CLASSPATH让.bash_profile文件修改后立即生效 ,可以使用如下命令:# source .bash_profile02.或者修改.profile文件,推荐此种方式。(root用户有此权限,其它用户一般无修改此文件的权限),这样其他程序也可以友好的使用JDK了#vi/etc/profile在文件中找到exportPATHUSERLOGNAMEMAILHOSTNAMEHISTSIZEINPUTRC,如果找不到加到文件的最后面就行了。JAVA_HOME=/usr/java/jdk1.7.0_01PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME JAVA_BIN PATH CLASSPATH让/etc/profile文件修改后立即生效 ,可以使用如下命令:# source /etc/profile当然重启linux 也可以使得JDK的配置生效。往往这也是一个有效的手段,因为有些设置在重新启动系统就消失了,那么这个配置问题往往不被人注意。验证JDK确认JDK版本. java -version 屏幕输出: java version 1.7.0_01 Java(TM) 2 Runtime Environment, Standard Edition (build jdk1.7.0_01) Java HotSpot(TM) Client VM (build jdk1.7.0_01, mixed mode) 安装MAVENLinux下安装maven1.首先到Maven官网下载安装文件(/download.cgi),目前最新版本为3.1.1,下载文件为apache-maven-3.1.1-bin.tar.gz(/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz),2.进入下载文件夹,找到下载的文件,运行如下命令解压tar-xvfapache-maven-3.1.1-bin.tar.gz解压后的文件夹名为apache-maven-3.1.13.使用mv命令将apache-maven-3.0.3文件夹拷贝到自己指定的文件夹,比如/usr/local/下mv-rfapache-maven-3.1.1/usr/local/4.配置环境变量配置环境变量有2种方式:本用户下与全局方式以root用户编辑/etc/profile文件,添加如下代码MAVEN_HOME=/usr/local/apache-maven-3.1.1exportMAVEN_HOMEexportPATH=$PATH:$MAVEN_HOME/bin保存文件,并运行如下命令使环境变量生效source/etc/profile本用户.bash_profile文件,此两文件一般在用户(非root)的主文件夹下。在文件中加入:#vi .bash_profileMAVEN_HOME=/usr/local/apache-maven-3.1.1exportMAVEN_HOMEexportPATH=$PATH:$MAVEN_HOME/bin让.bash_profile文件修改后立即生效 ,可以使用如下命令:# source .bash_profile6.在控制台输入如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功mvn-v2.2.3 安装MAVEN插件所有MAVEN的插件均在MAVEN私服联网的情况下(或不使用私服,开发机器可以联网的情况下)通过POM文件的编译获得。可以参见华安安装MAVEN私服文档。3 自动化脚本3.1 在windows下自动运行脚本。检查SVN客户端已正确安装,同时可以在命令行里运行TortoiseProc.exe 检查MAVEN客户端已正确安装,同时可以在命令行里运行mvn version 检查机器已正确联入局域网。并可以使用SVN客户端能检出代码。echo off c:cd rem 设置备份目录位置 set SVN_BAK=c:/free_view_20140318 set URL=6:1580/svn/sfw/HuaanUM rem 如果不存在备份目录则使用checkout命令,否则使用update即可 if not exist %SVN_BAK% ( TortoiseProc.exe -y /command:checkout /path:%SVN_BAK% /url:%URL% /closeonend:0 ) else ( TortoiseProc.exe -y /command:update /path:%SVN_BAK% /closeonend:1 ) echo 最后一次更新时间: %SVN_BAK%/README.txt rem 将日期和时间输出到同一行中 echo %date% %time% %SVN_BAK%/README.txt echo on echo Start to build projectrem 【可以使用echo off关掉回显,否则下面每执行一条语句都会打印一下正在执行的命令】 set MAVEN_OPTS=-Xms128m -Xmx512m -Dfile.encoding=UTF-8rem 【设置Maven运行时内存大小和编码格式,否则读取应用中的配置文件时会有编码问题】 set profileId=%1rem 【保存命令行中输入的参数到profileId变量中】 rem %SVN_BAK%cd %SVN_BAK%call mvn clean install -Dmaven.test.skip=truerem 【call新建命令行进程执行,否则mvn install后会自动停止】rem 【-Dmaven.test.skip=true跳过单元测试】 cd targetcopy HuaanUM-0.0.1-SNAPSHOT.war c:HuaanUM.warrem 【拷贝构建结果到新建的文件夹】 cd echo onecho Build
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 摔伤安全知识培训心得
- 摄影拍电影基础知识培训课件
- 现代推销技术试题及答案广西
- 2025物业验收应依据合同条款进行
- 2025环保合作协议范本模板
- 2025医用耗材采购合同「简化版」
- 2025年出口信贷抵押外汇借款合同(官方范本)
- 搭配二课件教学课件
- 揭阳买房基础知识培训课件
- 面试实战经验分享:城市漫游面试题库
- 第37次全国计算机等级考试考务培训-课件
- 生物竞赛辅导 动物行为学第七章 行为发育(38)课件
- 新生入学登记表新生入学情况表word模版
- 《高情商沟通》课件
- 《新锅规》锅炉产品合格证
- 医院产后出血的应急演练脚本
- 中药熏洗法操作评分标准与流程
- 光伏发电项目监理工作制度
- GB∕T 25119-2021 轨道交通 机车车辆电子装置
- 监理平行检查方案
- 喷塑工序作业指导书(最新)
评论
0/150
提交评论