持续集成之路-01Maven私服搭建篇

      网上有很多人写Maven私服搭建的文章,大多是采用Nexus作为私服,笔者也尝试按照这些文章的步骤去搭建,但是一直没有成功快哭了,在濒临崩溃之余终于决定放弃Nexus,采用Artifactory作为私服,因为相关的文章并不多,所以笔者是一路摸索过来搭建配置成功的。

步骤1:下载安装Artifactory

          到Artifactory的官方去下载,http://www.jfrog.com/download.php,笔者选择的是Artifactory OSS Version ,版本号是2.4.2,或者直接输入http://sourceforge.net/projects/artifactory/files/artifactory/2.4.2/,下载完毕后是个zip压缩文件包,将其解压到本地文件中D:\work\java_tools\artifactory-2.4.0,下载的artifactory总,已经内置了jetty容器,因此不需要配置web服务器了。

步骤2:运行Artifactory

         到artifactory的安装目录下,有个bin目录,运行artifactory.bat文件


步骤3:修改artifactory配置

浏览器中输入http://localhost:8081/artifactory

即可看到artifactory的首页,右上角有个login链接,默认的用户名和密码分别为admin/password (密码就是 password)

步骤4:配置内部jar仓库

搭建私服的目的在于加快jar的下载,另一目的还在于可以管理公司内部的jar仓库,在公司内部实现jar共享,而这些jar只能传到私服上,而不是上传到外部的远程服务器上,因此,需要对maven私服进行规划

     进入artifactory的admin模块


可以看到,artifactory已经为我们考虑到了这些事情,接下来看一下这些东东都是做什么用的

Local Repositories   --这个表示本地(私服)中的仓库,也就是公司内部的一些jar

  •  libs-release-local      --内部发布的jar包正式版本
  •  libs-snapshot-local  -内部发布的jar包snapshot版本
  •  plugins-release-local   --内部发布的maven插件正式版
  •  plugins-snapshot-local
  •  ext-release-local     --由内部发布,但是jar包的来源是来自外部的,如oracle的jdbc驱动,sun的tools.jar包,方这里即可
  •  ext-snapshot-local
  • Remote Repositories  --这个是远程jar仓库,artifactory已经为我们准备好了

    •        repo1
    •  codehaus
    •  java.net.m2
    •  jfrog-libs
    •  jfrog-plugins
    • Virtual Repositories   --这个下面的仓库表示虚拟的仓库节点,每个节点都包含了N组localRepository和remoteRepository

      •       remote-repos
      •  libs-release
      •  plugins-release
      •  libs-snapshot
      •  plugins-snapshot

步骤5,导出settings.xml

   artifactory给我们提供了一个很好的功能,就是根据我们配置的repository,可以给我们导出一个settings.xml文件,这样就省去了客户端链接私服配置时很多迷茫的问题,直接上图


在这个页面上有四个下拉框,分别让我们选择jar的仓库地址,snapshot仓库的地址,以及maven插件的地址,想想上一个步骤中我们提到的那3类仓库,这个页面就是让你选择客户端链接maven私服时需要链接到私服的哪个仓库上!选择默认配置即可--artifactory已经帮你考虑了这些事情!

点击右下角的Generate Settings按钮就生成了settings.xml文件的内容,把内容复制出来,保存成settings.xml把他发给你的项目组成员,运行下效果吧~

注意

默认生成的settings.xml文件中的内容,因为密码是敏感数据,所以artifactory没有把你的密码直接导出,而是需要你自己修改下的


可以将<password>里的内容修改成实际的密码,但不推荐这么做,因为这样等于把密码完全暴露出来了,好在artifactory提供了可以输入加密过的密码来进行验证的做法,从哪里获得加密后的密码字符串呢?按照下图中的链接,找到 用户admin,将其对应的password复制出来即可


步骤6修改默认的lib-release

上两个步骤中介绍过,公司内部的jar包发布到libs-snapshot-local和libs-local仓库下,默认情况下,对于snapshot版本jar包发布到artifactory上,artifactory都会为其生成一个唯一的jar的id,如crazycoder2010-1.0.0-201101121212.jar即会以发布时间戳来命名我们的SNAPSHOT版本的jar包!而对于客户端从jar仓库中依赖jar却只知道是SNAPSHOT,因此需要修改一下配置即可-按图示,将libs-snapshot-local的Maven snapshot version behavior 修改成Noneunique即可


posted @ 2011-12-03 14:19  java简单例子  阅读(638)  评论(0编辑  收藏  举报