JFrog Artifactory 是一个 Artifacts 仓库管理平台,它支持所有的主流打包格式、构建工具和持续集成(CI)服务器。它将所有二进制内容保存在一个单一位置并提供一个接口,这使得用户在整个应用程序开发和交付过程中,能更易于上传、查找和使用二进制文件。

本文将介绍如何使用 Docker 在 Artifactory 上快速搭建一个 Maven 私服。

使用 Docker 部署 Artifactory

1、获取 artifactory-oss 镜像

$ docker pull docker.bintray.io/jfrog/artifactory-oss

2、创建数据卷

例如在 ~/docker/volume/artifactory 路径下执行

$ docker volume create data_artifactory

3、启动容器

$ docker run --name any-artifactory -d \-v data_artifactory:/var/opt/jfrog/artifactory \-p 8081:8081 docker.bintray.io/jfrog/artifactory-pro

部署 artifactory

Maven 私服配置

1、访问 http://localhost:8081/ 进入 Artifactory 首页后,配置好密码,并选择 Maven 插件。

后台首页

2、获取加密密码并保存,供后续流程使用。

获取加密密码 1

获取加密密码 2

本机 Maven 配置

1、获取 Artifactory 自动生成的配置文件,并下载到本地。

Maven 配置文件 1


Maven 配置文件 2

Maven 配置文件 3

2、修改下载得到的配置文件 settings.xml 里的账号及密码,并添加阿里云 Maven 镜像。

修改账号及密码

添加阿里云 Maven 镜像

<!-- 阿里云 Maven 镜像 --><mirrors>    <mirror>        <id>alimaven</id>        <name>aliyun maven</name>        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>        <mirrorOf>central</mirrorOf>    </mirror></mirrors>

3、将此 settings.xml 文件覆盖原有的配置文件。


$ cd ~/.m2/$ mv settings.xml settings1.xml$ cp [新 settings.xml 路径] ~/.m2/


Maven 依赖包的发布与引入

1、将自定义的 Maven 工程发布到 Artifactory。

① 在 pom.xml 文件中添加如下代码:

<distributionManagement>        <repository>            <id>central</id>            <name>0e25d567d765-releases</name>            <url>http://localhost:8081/artifactory/libs-release-local</url>        </repository></distributionManagement>

② 在 pom.xml 所在路径下执行:

$ mvn clean deploy

注意:发布在 libs-release-local 的工程,version 命名中必须包含 RELEASE, 同理,发布在 libs-snapshot-local 的工程, version 命名中必须包含 SNAPSHOT。

③ 检查发布情况:

成功发布示例

2、在其他项目中添加依赖

① 本机用户:直接添加,例如:


<dependencies>        <dependency>            <groupId>cn.ictgu</groupId>            <artifactId>any-root</artifactId>            <version>1.0.RELEASE</version>            <type>pom</type>        </dependency></dependencies>

② 其他用户:修改本机 maven 配置文件如上,在添加依赖。

参考资料

  • JFrog Doc - Installing with Docker

  • JFrog Doc -Centrally Secure Passwords

  • JFrog Doc - Maven Repository

来源:简书
原文:http://t.cn/EaXX3NU

欢迎大家关注我的微信公众号,一起学习进步!

Maven 私服你应该不陌生吧,可你会用 Artifactory 搭建吗?的更多相关文章

  1. Maven私服Nexus3.x环境构建操作记录

    Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...

  2. SONATYPE NEXUS搭建MAVEN私服

    1.为什么使用Nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费 ...

  3. Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服

    1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...

  4. Sonatype Nexus 搭建Maven 私服

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  5. Linux下Maven私服Nexus3.x环境构建操作记录【转】

    Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...

  6. maven私服Nexus3.2的使用

    maven搭建私服的步骤: 分三步: 第一步:下载maven的安装包,然后配置好maven的环境变量. 第二步:将maven的私服Nexus安装好,修改maven的配置文件setting.xml问,在 ...

  7. Centos7 搭建最新 Nexus3 Maven 私服

    Maven 介绍 Apache Maven 是一个创新的软件项目管理和综合工具.Maven 提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文 ...

  8. Windows 下Nexus搭建Maven私服

    nexus下载地址: http://www.sonatype.org/nexus/archived/#step2top 1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven ...

  9. Linux 下搭建 Sonatype Nexus Maven 私服

    一.为什么需要搭建mave私服 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的 ...

随机推荐

  1. Android xUtils3.0使用手册(二) - 数据库操作

    步骤:  (1). 创建数据表: (2). DaoConfig 获取数据库的配置信息: (3).  获取数据库实例:  x.getDb(daoConfig); (4). 数据库的增删改查. 1. 创建 ...

  2. MySQL数据库入门详细笔记

    ps: 中括号[]里的内容都是可以省略的,按需要添加 数据库操作 创建数据库 语法:create database [if not exists] 数据名 charset=gbk; create da ...

  3. Vagrant (二) - 日常操作

    立即上手 上一节中,我们介绍了怎样安装 Vagrant,安装本身并不困难.本章节中我们首先要快速上手,以便获得一个直观的概念: 建立一个工作目录 打开命令行工具,终端工具,或者iTerm2等,建立一个 ...

  4. 数学--数论--HDU 2582 F(N) 暴力打表找规律

    This time I need you to calculate the f(n) . (3<=n<=1000000) f(n)= Gcd(3)+Gcd(4)+-+Gcd(i)+-+Gc ...

  5. C++ 模板(template) 的定义

    定义: 模板(template)是实现代码重用机制的一种工具,它可以实现类型参数化,把类型定义为参数(模板元编程),从而实现了真正的代码可重用性. 模板是用来批量生成功能和形式都几乎相同的代码的.编译 ...

  6. DAG的深度优先搜索标记

    这是图论的基础知识点,也是学习Tarjan的导学课. 一.知识 对于在图G上进行深度优先搜索算法所产生的深度优先森林Gt,我们可以定义四种边的类型: 1.树边(Tree Edge):为深度优先森林中G ...

  7. 第K短路+严格第K短路

    所谓K短路,就是从s到t的第K短的路,第1短就是最短路. 如何求第K短呢?有一种简单的方法是广度优先搜索,记录t出队列的次数,当t第k次出队列时,就是第k短路了.但点数过大时,入队列的节点过多,时间和 ...

  8. P4768 [NOI2018]归程(kruskal 重构树)

    洛谷P4768 [NOI2018]归程 LOJ#2718.「NOI2018」归程 用到 kruskal 重构树,所以先说这是个啥 显然,这和 kruskal 算法有关系 (废话 这个重构树是一个有点权 ...

  9. CentOS启用iptables防火墙

    centos 7默认的防火墙使用firewall,系统服务管理方式也变更了,可以通过systemctl命令控制. 可以参考这个链接 但是习惯用iptables,可以按下面的操作改下 1.关闭firew ...

  10. XCTF练习题-WEB-webshell

    XCTF练习题-WEB-webshell 解题步骤: 1.观察题目,打开场景 2.根据题目提示,这道题很有可能是获取webshell,再看描述,一句话,基本确认了,观察一下页面,一句话内容,密码为sh ...