目录
Jfrog(这是公司名)的Artifactory是一款Maven仓库服务端软件,可以用来在内网搭建maven仓库,供公司内部公共库的上传和发布,以提高公共代码使用的便利性。
它也是目前全球唯一一个支持所有开发语言,任意维度的元数据检索、跨语言正反向依赖分析,并同时拥有深度递归、支持多活异地灾备的企业级、高可用二进制制品管理仓库。世界五百强中93%的企业已经将Artifactory作为自己DevOps的核心系统。
Artifactory是一款二进制存储管理工具,用来管理构建构建工具等所依赖的二进制仓库,以方便管理第三方库和发布目标版本库,从而提高软件开发效率。它提供大量的插件以利于和不同工具之间的整合,内部使用权限管理更加安全,并支持高并发等等特性。另外我们搭建Artifactory私服的原因还有:私有仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为:
·构件(jar)是二进制文件,不属于git版本控制系统,后者在处理文本文件方面比较好
·减少可能的版本冲突
·减少首次构建时需要的手动干涉
·中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好
·使用内部仓库做clean构建时会快些,因为Maven构件是从内部服务器而不是从因特网上获取。
Artifactory 仓库支持代理公网或内网二进制软件制品仓库(Artifactory, Nexus,Harbor等),按需获取后在本地进行缓存,可大幅度提升构建效率。
Artifactory 本地仓库用来存储本地构建产出的软件制品。本地仓库中的软件制品通常都带有丰富的元数据,并且通过基于角色的访问控制(RBAC)实现资源隔离。
为满足制品管理的多团队协作需求,虚拟仓库通过打包任意数量的远程仓库和本地仓库,暴露唯一的访问入口的方式,将制品提供者和消费者之间的耦合度降到最低,提升协作效率。
分发仓库通过JFrog Bintray SaaS服务满足软件制品公网分发的需求,提供默认的全球CDN加速服务。
创建Artifactory 主目录和一个空文件。创建文件夹的用户应该是运行 docker 运行的用户
mkdir -p $JFROG_HOME/artifactory/var/etc/
cd $JFROG_HOME/artifactory/var/etc/
touch ./system.yaml
chown -R 1030:1030 $JFROG_HOME/artifactory/var
docker run --name artifactory -v $JFROG_HOME/artifactory/var/:/var/opt/jfrog/artifactory -d -p 8081:8081 -p 8082:8082 releases-docker.jfrog.io/jfrog/artifactory-oss:latest
可以使用本机 Docker 命令管理 Artifactory
docker stop artifactory
可以从浏览器访问 Artifactory,网址
http://SERVER_HOSTNAME:8082/ui/http://localhost:8082/ui/
查看Artifactory的日志
docker logs -f artifactory