JFrog Artifactory 是一个 Artifacts 仓库管理平台,它支持所有的主流打包格式、构建工具和持续集成(CI)服务器。它将所有二进制内容保存在一个单一位置并提供一个接口,这使得用户在整个应用程序开发和交付过程中,能更易于上传、查找和使用二进制文件。
本文将介绍如何使用 Docker 在 Artifactory 上快速搭建一个 Maven 私服。
$ docker pull docker.bintray.io/jfrog/artifactory-oss
例如在 ~/docker/volume/artifactory 路径下执行
$ docker volume create data_artifactory
$ docker run --name any-artifactory -d \-v data_artifactory:/var/opt/jfrog/artifactory \-p 8081:8081 docker.bintray.io/jfrog/artifactory-pro
部署 artifactory
1、访问 http://localhost:8081/ 进入 Artifactory 首页后,配置好密码,并选择 Maven 插件。
后台首页
2、获取加密密码并保存,供后续流程使用。
获取加密密码 1
获取加密密码 2
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 依赖包的发布与引入
① 在 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 配置文件如上,在添加依赖。