Maven 私服你应该不陌生吧,可你会用 Artifactory 搭建吗?
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 搭建吗?的更多相关文章
- Maven私服Nexus3.x环境构建操作记录
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- SONATYPE NEXUS搭建MAVEN私服
1.为什么使用Nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费 ...
- Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服
1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...
- Sonatype Nexus 搭建Maven 私服
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- Linux下Maven私服Nexus3.x环境构建操作记录【转】
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- maven私服Nexus3.2的使用
maven搭建私服的步骤: 分三步: 第一步:下载maven的安装包,然后配置好maven的环境变量. 第二步:将maven的私服Nexus安装好,修改maven的配置文件setting.xml问,在 ...
- Centos7 搭建最新 Nexus3 Maven 私服
Maven 介绍 Apache Maven 是一个创新的软件项目管理和综合工具.Maven 提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文 ...
- Windows 下Nexus搭建Maven私服
nexus下载地址: http://www.sonatype.org/nexus/archived/#step2top 1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven ...
- Linux 下搭建 Sonatype Nexus Maven 私服
一.为什么需要搭建mave私服 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的 ...
随机推荐
- 使用IBM Blockchain Platform extension开发你的第一个fabric智能合约
文章目录 安装IBM Blockchain Platform extension for VS Code 创建一个智能合约项目 理解智能合约 打包智能合约 Local Fabric Ops 安装智能合 ...
- Docker安装MySql完整教程、实操
docker:官网 docker:镜像官网: 镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker p ...
- npm小工具、技巧合集:让你的npm“健步如飞”
1.解决安装速度慢问题-nrm 解决痛点 由于npm的包仓库是在国外,npm包安装速度较慢,部分包甚至无法安装. 对比cnpm的优势 1.cnpm增加了大脑的记忆和思维负担,常常需要考虑使用npm还是 ...
- 发布AI芯片昆仑和百度大脑3.0、L4自动驾驶巴士量产下线,这是百度All in AI一年后的最新答卷...
机器之心报道,作者:李泽南. 去年的 7 月 5 日,百度在北京国际会议中心开办了首届「AI 开发者大会」.在会上,百度首次喊出了「All in AI」的口号.一年的时间过去了,今天在同样地点举行的第 ...
- python笔记 函数初识
1. 函数: 封装一个功能 def my_len(形参): -> def 声明定义一个函数 my_len 函数名命名规则同变量 ······ - ...
- 初识DP动态规划
一.多阶段决策过程的最优化问题 在现实生活中,有类活 动的过程,由于 它的特殊性,可将过程分成若干个互相阶段.在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果.当阶段决策的选取不是任意确 ...
- ACM-ICPC 2019 山东省省赛 C Wandering Robot
这个题额,我觉的是一道水题,思维题,需要考虑的情况比较多,题意一个机器人给一条指令,循环n遍,问此过程中离原点最远距离. 考虑最远距离可能出现的的情况. 每次循环之后距离至少为0: 1.假设他每一次循 ...
- 疯子的算法总结(七) 字符串算法之 manacher 算法 O(N)解决回文串
有点像DP的思想,写写就会做. #include<bits/stdc++.h> using namespace std; const int maxn=1e7+5; char a[maxn ...
- App 自动化环境搭建
1.安装 Appium-desktop 工具 下载地址:https://github.com/appium/appium-desktop/releases 2.安装 Android 环境 安装 JDK ...
- Java实现通过反射获取指定类的所有信息
package com.ljy; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.l ...