您好、欢迎来到现金彩票网!
当前位置:ag视讯 > 构件存储库 >

用Artifactory管理内部Maven仓库

发布时间:2019-08-25 00:05 来源:未知 编辑:admin

  Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。

  Maven会从的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven仓库,团队可以更有好地利用Maven仓库的优势并且克服使用ibiblio上的仓库时的缺点。

  本文着眼于Maven仓库工具应提供的一些功能,列出了选择Maven仓库工具的标准,说明了使用Artifactory设置Maven仓库的相关步骤。在Linux和Windows中设置Maven仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven仓库的使用有关的POM文件的范例,用截图来向用户阐述如何设置Maven仓库,Maven和artifactory配置范例也有列出。

  J2EE web 服务器部署过程(e.g. 在Tomcat中部署Web应用程序)

  Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为:

  构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好

  中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好

  使用内部仓库做clean构建时会快些,因为Maven构件是从内部服务器而不是从因特网上的ibiblio服务器获取。

  本地仓库——位于开发者的机器,由开发者维护,它从位于‘~home/.m2’ 目录的‘settings.xml’文件中定义的Maven仓库上同步,如果在pom.xml或setting.xml文件中没有设置内部私有远程仓库,那么开发者机器上的这个本地仓库就会从上的公用Maven仓库上同步。

  内部私有远程仓库——这是我们将要设置的仓库,我们将改变maven 的pom.xml或settings.xml文件来使用这个库。

  外部公用远程仓库——这是在ibiblio.org上的外部公用仓库,默认情况下,Maven从这个仓库上同步。

  Ibiblio 缓存‘Ibiblio-cache’ ——用于存储从下载的构件,可以公开访问,它将从外部的ibiblio仓库中同步

  内部仓库internal-maven-repository——用于存储团队内部的构件,它不与任何外部仓库同步,是团队专有的构件库

  可以创建另一个子仓库,这是可选的,用于存储那些公用的但是在ibiblio上暂时没有的构件,例如一些构件的新最版本,这个仓库不与内部仓库同步。我们可以称它为第三方‘3rd-party’

  从版本控制系统中下载代码,修改settings.xml指向内部仓库并且做一次没有任何手工干涉的clean构建

  研究过以上所有产品之后得出结论,Artifactory 拥有我们要的所有标准。Proximity看样子也有许多我们要的特性,我们将着眼于Artifactory 的使用。

  运行于JDK 1.6和Tomcat 6。Artifactory以‘war’文件形式部署到Tomcat

  所有构件可以被批量导出到本地库然后导入到其他库,因而易于将构件从一个仓库工具移到另一个,它也使得Maven库的升级非常容易

  兼容Java Content Repository 标准(JSR-170)。

  backup —— 仓库的备份,可以使用cron表达式设置备份策略,quartz定时调度程序在指定的时间里运行备份任务,备份时间间隔在‘fig.xml’文件中指定

  data —— 包含derby数据库文件,如果你想以一个空的构件库开始,可以删除这个目录中的所有内容,在全新的artifactory 安装中,这个目录是空的。

  可以在一个配置文件中指定所有3个信息,在Tomcat启动期间我们只需要指定artifactory的安装目录,artifactory会计算出其余的信息。可选的方法是使用jdbc设置好derby数据库的连接并且在Web应用程序中配置好artifactory (通过在Web应用程序中包含artifactory.config.xml文件)。不管怎样,这个方法是简单的。

  artifactory 安装目录的位置可以被设置为一个环境变量,在Linux中,用‘.bash’来输出artifactory 安装目录的位置的脚本是:

  内部私有仓库private-internal-repository:这个仓库包含仅在团队内使用的构件,它们由开发者手动上传,这个仓库不与ibiblio 中的远程仓库同步,因为这个仓库(或子仓库)中的构件是团队私有的。

  第三方库3rd-party:这个仓库包含公有的但不在ibiblio服务器上的构件,例如,最新版本的尚不在ibiblio的组件或jdbc驱动。这个仓库不与ibiblio 同步,因为ibiblio 没有这些jar。

  以用户名admin和密码password登录,点击浏览仓库的链接,你可以查看仓库的内容。

  也可以在项目的pom.xml文件中设置仓库,下面是pom.xml范例文件:

  在构建Maven项目的时候,所有的构件库都会从新的仓库下载,控件台会显示下载的过程:

  用浏览器登录到新的构件仓库,你会发现artifactory 已经下载并缓存了ibiblio上的构件。

  可以通过Web界面或Maven命令行安装构件,通过Web界面来安装更简单更快,并且不需要修改任何配置。通过命令行安装需要修改settings.xml配置文件,可以在其他脚本中使用。

  2. 如果你上传的是jar文件,Artifactory会为它创建pom文件 。上传的时候你可以指定上传到哪个仓库。

  3. 上传完后,上传的构件与artifactory 自动创建的pom文件一起在仓库中出现。

  当用‘mvn clean install’ 命令的时候,Maven仅仅打包和安装构件到本地仓库,要把它安装到APH内部仓库中,我们必须在settings.xml中添加一条额外的配置:

  repositoryId必须与settings.xml中定义的服务器ID相匹配,url必须包含构件将要被安装到的仓库的名称。

  新的构件会在仓库中出现,并且artifactory 会自动为我们创建pom文件。

  备份策略在fig.xml中指定,使用cron表达式来指定定时备份任务,配置备份任务的元素在下面的代码清单中用高亮显示出来了

  备份文件存储在‘ARTIFACTORY_INSTALLATION_FOLDER/backups’目录,备份文件的格式与开发者机器上的本地仓库一致,这使得要移植仓库内容到其他Maven仓库工具中时非常容易。

  内部私有Maven仓库加快构建的过程并且使clean构建更简单,它还帮助避免不同构件版本的冲突。

  在这4款通用的Maven构件仓库工具中,看样子Artifactory 是比较好的产品。

  Artifactory使得设置Maven仓库变得简单;它提供了一个好的Maven仓库工具应该实现的所有功能;团队不会被锁定在这个工具上,因为可以容易地移植仓库内容到其他仓库工具上;对于不知道Maven仓库如何工作的人来说,Web界面使得他们能很容易地使用仓库。

http://nzrimfire.com/goujiancunchuku/532.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有