Eclipse+Maven+Nexus+Hudson+Svn自动部署

原创
2015/06/17 15:47
阅读数 1.1K
AI总结

1.maven和eclipse整合

      参考之前的文章:http://my.oschina.net/OutOfMemory/blog/178512

2.nexus的安装与使用

       nexus是maven的一个私服,平时我们自己搞自己项目的话可能并不会考虑这些,所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,但如果在一个团队中,所有人都重复的从maven仓库下 载构件无疑加大了仓库的负载和浪费了外网带宽,也有很多情况下项目的开发都是在内网进行的,连接不到maven仓库,这时候就需要架设一台maven的私服了。

2.1下载:http://www.sonatype.org/nexus/archived/  我这边下载的是nexus-2.9.0-bundle.zip

2.2启动:解压以后在nexus-2.9.0-bundle\nexus-2.9.0-04\bin\jsw   不同操作系统有各自的启动方式
 windows-x86-64:运行console-nexus.bat进行启动
 linux-x86-64:

./wrapper ../conf/wrapper.conf 

2.3访问地址:http://127.0.0.1:8081/nexus

2.4登录:可以点击界面右上角的Log In进行登录,用户名密码:admin/admin123


点击左侧的Repositories出现如上界面

2.5介绍:

Public Repositories:  仓库组
3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
Apache Snapshots:  用了代理ApacheMaven仓库快照版本的构件仓库
Central:  用来代理maven中央仓库中发布版本构件的仓库
Central M1 shadow:  用于提供中央仓库中M1格式的发布版本的构件镜像仓库
Codehaus Snapshots:  用来代理CodehausMaven 仓库的快照版本构件的仓库
Releases:  用来部署管理内部的发布版本构件的宿主类型仓库
Snapshots: 用来部署管理内部的快照版本构件的宿主类型仓库

我们平时关注比较多的就是  public Repositories,3rd party, Releases,Snapshots

2.6eclipse中maven的下载与配置

maven下载:http://maven.apache.org/download.cgi  我这边下载的是apache-maven-3.1.1

依次打开window->Preferences-maven如下界面:

默认帮我们设置的本地仓库是:C:\Users\Administrator\.m2,可以打开settings.xml

<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

默认的下载位置就是:${user.home}/.m2/repository,也就是C:\Users\Administrator\.m2\repository

C盘容易满,所有不建议放在默认路径下

当然这边默认的位置是可以修改的,比如我这边把位置改成了:

相应的settings.xml中做如下设置:

<localRepository>D:\mvn2\myCenterRepository</localRepository>
2.7配置从Nexus下载构件

2.7.1在settings.xml中配置Nexus仓库

maven提供了profile来配置仓库信息:

<profiles>
    <profile>  
      <id>myprofile</id>  
      <repositories>  
            <repository>  
                <id>central</id>                                     
                <url>http://central</url>                        
                <releases>  
                    <enabled>true</enabled>  
                </releases>  
                <snapshots>  
                    <enabled>true</enabled>  
                </snapshots>  
            </repository>  
        </repositories>     
         <pluginRepositories>  
            <pluginRepository>  
              <id>central</id>  
              <url>http://central</url>  
              <releases>  
                <enabled>true</enabled>  
              </releases>  
              <snapshots>  
                <enabled>true</enabled>  
              </snapshots>  
            </pluginRepository>  
        </pluginRepositories>  
    </profile>  
</profiles>

激活profiles:

<activeProfiles>  
    <activeProfile>myprofile</activeProfile>  
</activeProfiles>

配置镜像:

<mirrors>
   <mirror>     
     <id>nexus</id>      
     <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>     
     <mirrorOf>*</mirrorOf>     
    </mirror> 
</mirrors>
这里配置mirrorOf的值为*,代表maven的所有访问请求都会指向到Nexus仓库组。


2.7.2当然也可以在项目的pom文件中进行配置,这个每个项目要做相同的配置,不推荐使用。

2.8部署构件到Nexus

2.5中介绍的,3rd party和Releases我们经常需要部署的2个地方。

一个是无法从公共仓库获得的第三方发布版本的构件仓库,另一个是用来部署管理内部的发布版本构件的宿主类型仓库

From POM:如果要部署的构件本身就是maven项目,需要提供pom.xml文件和jar包

GAV Parameters:不是maven项目的构件,只需要提供jar包

我的理解是,如果构件的项目本身需要依赖其他项目,那么需要使用From POM,如果不依赖其他项目,那么使用From POM和GAV Parameters都可以

3.Hudson的安装和使用

     Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,持续的软件版本发布/测试项目。

1.下载:http://hudson-ci.org/  我这边下的版本是hudson-3.2.2.war

2.安装,将hudson-3.2.2.war放入tomcat中就可以,启动tomcat就可以了,访问地址:http://localhost:8080/hudson-3.2.2/

刚进主界面需要我们选择要安装的插件:

Hudson Subversion Plug-in  :  整合svn的一款插件

maven和ant的插件都已经默认安装了。

当然也可以进入:系统管理->Manage Plugins using Classic Plugin Manager,重新选择需要安装的插件

3.系统配置

系统管理->系统设置

jdk配置,ant配置,maven配置

当然还可以进行其他配置,比如邮件提醒等。

      注:此处如果本地下载的是最新的apache-maven-3.3.3,无法被hudson调用,因为3.3.3以后bin里面的可执行文件变了,应该需要安装Hudson Maven3 Plugin插件可以使用(未试)

4.新建任务

新建任务,指定名称(如test),选择“构建一个自由风格的软件项目”。

5.配置svn

注:此处如果需要svn帐号,点击enter credential,选择:User name/password authentication

6.build

可以选择多种build方式,我们选择Invoke Maven2(Legacy)

7.下面就可以点击左上角的“立即构建”了

Hudson将首先从svn下载资源,然后执行maven  build项目。

点击右边的小黑框可以查看日志输出

另附:

1.本地的Hudson根目录:C:\Users\Administrator\.hudson\jobs

2.hudson的环境变量  http://blog.sina.com.cn/s/blog_b4b4f2a801018vsq.html

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部