`
jgsj
  • 浏览: 963105 次
文章分类
社区版块
存档分类
最新评论

持续集成之路-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即可


分享到:
评论

相关推荐

    maven资料大全

    Maven3培训教程.pptx MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven实战.pdf Maven实战——入门篇.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf

    Maven资料打包大集合

    Maven3培训教程.pdf Maven实战.pdf MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf

    maven搭建、集成,创建聚合项目问题及错误解决

    包内喊有5个文档,包含maven本地搭建,私服搭设,于eclipse集成,创建web项目,创建聚合项目,打包和问题解决说明

    基于gitlab的持续集成环境搭建.pdf

    基于gitlab的持续集成环境搭建.主要内容包括搭建gitlab,maven私服,docker镜像仓库,gitlab-runner,以及微服务集成开发环境的核心项目.

    最新nexus3国内镜像下载,windows环境下,搭建nexus3私服 pom私服、nmp私服集成

    此外,Nexus3还支持与各种流行的持续集成/持续部署(CI/CD)工具集成,进一步提升了开发流程的自动化水平。 综上所述,Nexus3作为一款功能强大的Maven仓库管理工具,在国内软件开发领域具有广泛的应用前景。

    搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nexus私服,供其他模块引用。...

    micaicms-web-modules-archetype:maven之自定义archetype生成多模块结构的项目骨架

    #micaicms-web-modules-archetypeMaven之自定义archetype生成多模块结构的基础项目骨架一:项目骨架介绍该项目骨架集成了Spring,SpringMVC,MyBatis,jsp,jquery,bootstrap等二:项目骨架使用介绍1.首先下载该...

    Maven的配置与使用

    Maven的配置与使用,介绍了Maven的安装于使用,M2ecipse集成,Nexus私服搭建。

    Docker Jenkins Git Maven Nexus3持续集成部署

    什么是持续集成、什么是容器化集成和部署、怎么样安装Jenkins、规避哪些坑、什么是Blue Ocean 什么是流水线技术、什么是Jenkins Piepeline流水线技术、怎么样写流水线脚本 如何实现串行部署、并行部署、单节点部署、...

    某培训结构老师讲解docker教学视频(完整版)

    5. Maven与Docker集成 17 5.1 插件docker-maven-plugin 18 5.2 插件dockerfile-maven 19 6. 容器编排与调度 20 6.1 容器编排 20 6.2 容器调度 21 7. Docker常用命令 21 8. 常见问题 22 8.1 连不上docker官方...

    Java微服务架构l零从基础到精通高清视频教程全套 163课

    Java微服务架构l零从基础...157 Docker 私服搭建 158 项目的容器化部署1 159 项目的容器化部署2.1 159 项目的容器化部署2.2 160 项目的容器化部署3.1 160 项目的容器化部署3.2 161 基本概念 162 操作流程 163 GitLab CI

    Java微服务架构163课

    157 Docker 私服搭建 158 项目的容器化部署1 159 项目的容器化部署2.1 159 项目的容器化部署2.2 160 项目的容器化部署3.1 160 项目的容器化部署3.2 161 基本概念 162 操作流程 163 GitLab CI

    service-api-demo.rar

    此工程集成了nexus私服,配合我的“nexus搭建和基于spring boot2.x的配置,centos7"博客,可以使用spring boot集成nexus

Global site tag (gtag.js) - Google Analytics