您的位置:首页 > 其它

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

2013-07-17 12:53 525 查看
【说明】使用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 anonymous
Updating file:///D:/MySVNRepo/mavenCheck2 revision: 2013-7-17 13:52:26 depth:infinity ignoreExternals: false
U         src\main\java\com\check2\CheckMaven2.java
At 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: