使用Maven+Svn+Hudson持续集成开发流程实例【搭建二】

来源:互联网 发布:aspen plus软件 编辑:程序博客网 时间:2024/05/01 16:37

【说明】使用maven+svn+hudson进行持续集成开发方法

一 : 使用maven管理项目

1 maven主要的配置文件settings的主要配置介绍

settings文件的主要配置的解释:

localRepository: 本地仓库配置路径

offline : 是否是离线的,这个一般不用配置,离线的话会无法下载中央仓库的包

servers: 配置用户名密码,用来访问nexus

mirrors:用来访问其他库

profiles :个性化配置,需要激活

2:在pom.xml文件配置上传的路径,例如如下[可以把上传的路径和下载路径写为同一个]

1)      配置pom文件

      <distributionManagement>           <repository>              <id>nexus-releases</id>              <name>releases</name>              <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>         </repository>   </distributionManagement>


2) 执行命令 :mvndeploy

    结果如下:

     

3:配置下载的路径

   1)主要配置文件: 

   

 <repositories>    <repository>       <id>central</id>       <name>Central</name>       <url>http://127.0.0.1:8081/nexus/content/repositories/central/</url>       <releases>         <enabled>true</enabled>       </releases>     </repository>   </repositories>

 

                                     

2)  添加一个依赖会自动下载

此图为测试了加上一个本地没有的依赖后会从 私有中央仓库下载jar包,下载的路径为pom.xml配置的中央仓库路径而非默认路径


4把普通项目转化为maven项目的方法:

1)首先eclipse已经安装了maven的插件,并且已经配置好了.

2)新建一个空的maven项目

   

  3) 把项目中的java文件放在maven对应的目录下

    

  4) 配置 pom.xml文件,添加依赖,和上传中央仓库路径,从中央仓库下载jar包的路径

配置pom.xml依赖

会显示如下界面,查找需要的jar即可

二: 使用maven整合nexus 管理中央仓库

1下载nexus文件

本实例用的版本时nexus-2.5.1-01-bundle.zip,下载地址可以在官网上下载

2启动nexus 。先解压nexus,然后cmd到解压后的目录下,启动服务

[默认的中央仓库的路径就是在当前的目录下]

[Central下载仓库路径]:


3 打开首页

http://127.0.0.1:8081/nexus/index.html#welcome

在右上角登录 admin/admin123会进入到主页面

4中央仓库结构

Repositories 是中央仓库集合,下面分为几个仓库,有Releases(发布版)/Central(中央仓库)/Snapshots(开发版)等多个仓库

5 私有仓库

用户远程使用自己建立私有的中央仓库已在上一章的3说到了,想要使用私有仓库需要进行一些配置,选中Central,打开configuration,如下图所示:


默认 DownloadRemote Indexes 为false,改为true,保存即可。重新登录并坚持仓库路径,发现好多常用的jar包已经被下载

三: 整合hudson持续集成开发

  实现了jar包上传下载管理后,如果是个较大的项目,需要保证项目持续集成开发的话,还需要使用hudson,进行对项目的定时编译

1 下载hudson ,本实例下载是最新的,可以很容易在官网上下载

  hudson-3.0.1.war

2 启动hudson,默认使用的是8080端口

因为hudson是个jar文件,所以

Cmd到hudson目录下

输入命令

 java -jar hudson-3.0.1.war

 

3 打开首页

http://localhost:8080/,如下图所示:


4 进行系统配置:

只配置两个地方jdk路径和maven的路径,如图:


下面就可以进行建立新的工程了,在建立工程前,持续开发用到了svn,所以要先进行

SVN的配置

5 SVN配置

Svn主要需要下载三个资源(客户端,服务器端,Eclipse的SVN插件)

测试实例用的路径为 file:///d:/MySVNRepo,启动好服务后,把代码上传到SVN上

6 建立Hudson工程

选择构建一个自由风格的软件项目

7 填写svn路径

此处需要加上SVN资源路径: file:///D:/MySVNRepo/mavenT

8 填写执行周期和maven的执行命令点击保存

*/10****  表示每隔10分钟构建一次

 

9 点击立即构建,查看构建结果,编译成功

点击console可以查看项目构建的流程

1)      先创建一个工作空间workspace

2)      更新svn的文件,查看是否有更新变化,如果有就会下载下来

3)      执行命令mvn XXXX(命令)

4)      返回结果 SUCCESS/FAILURE

 如果看的不清楚,请看下面详细记录

Started by user anonymousUpdating file:///D:/MySVNRepo/mavenCheck2 revision: 2013-7-17 13:52:26 depth:infinity ignoreExternals: falseU         src\main\java\com\check2\CheckMaven2.javaAt revision 18[workspace] $ mvn.bat package[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building the effective model for propCheck2:mavenCheck2:jar:8.0.0[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: activeio:activeio:jar -> version 1.1 vs 2.0-r118 @ line 35, column 15[WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.[WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.[WARNING] [INFO]                                                                         [INFO] ------------------------------------------------------------------------[INFO] Building mavenCheck2 8.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mavenCheck2 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent![INFO] Copying 0 resource[INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ mavenCheck2 ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mavenCheck2 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent![INFO] Copying 0 resource[INFO] [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ mavenCheck2 ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ mavenCheck2 ---[INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ mavenCheck2 ---[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 6.767s[INFO] Finished at: Wed Jul 17 13:52:50 CST 2013[INFO] Final Memory: 7M/17M[INFO] ------------------------------------------------------------------------Finished: SUCCESS


原创粉丝点击