根据官方的解释:
JFrog Artifactory 是目前全球唯一一个支持所有开发语言,任意维度的元数据检索、跨语言正反向依赖分析,并同时拥有深度递归、支持多活异地灾备的企业级、高可用二进制制品管理仓库。世界五百强中93%的企业已经将Artifactory作为自己DevOps的核心系统。
即构建过程的输出物,包括软件包,测试报告,应用配置文件等可在服务器上直接 运行或可查看二进制形式的文件,通常称之为二进制软件制品。不同开发语言 所产生的制品的获取、使用、共享方式不同,不同的制品仓库能够管理各自开发语言类型的二进制制品。制品管理是对软件研发过程中生成的产物的管理, 一般作为最终交付物完成发布和交付。所有的制品包,依赖组件均能够纳入统一 制品库中统一管理。制品库应作为测试及生产部署的唯一可信制品来源。
官网:https://www.jfrogchina.com/
下载Artifactory后,如果环境是window系统,可以直接双击运行bin
目录下的artifactory.bat
文件,服务器启动成功后,在浏览器地址栏输入:http://localhost:8081/artifactory/
,进入后台管理面板。
如果环境是Mac OS系统,通过控制台进入bin目录下输入命令 ./artifactory.sh start 启动服务。
home页面
点击左侧菜单栏用户
图标,然后选择右侧的Repositories
下的Local
,在打开的界面中,点击右上角的New
,在弹出的界面中选择Maven
,输入Repository key
,这个key就是本地仓库的名字,可以任意输入,但不能和已存在的仓库重名,输入后,不用修改其它,直接点击右下角的Save&Finish
。
点击左侧菜单栏用户
图标,然后选择右侧的Repositories
下的Remote
,在打开的界面中,点击右上角的New
,在弹出的界面中选择Maven
,输入Repository key
,这个key就是远程仓库的名字,可以任意输入,但不能和已存在的仓库重名,输入后,还需要配置URL
选项,配置完成后点击右下角的Save&Finish
。
PS:在这里推荐AliRepo 仓库服务,URL:https://maven.aliyun.com/mvn/view
注意事项:创建远程仓库时,容易出现以下的一个错误,提示Error parsing json body
,出现这个问题,是由于Max Unique Snapshots
的配置项,Chrome浏览器自己帮我们填充了admin的内容,而这个配置项是一个int的类型,删除默认填充的admin,再次点击Save&Finish就可以创建成功。
一般来说,我们需要创建google,jcenter,public这三个仓库,对应的URL在AliRepo 仓库服务中都可以找到,创建后的效果:
默认本地文件的size是100M,所以要上传大于100M的文件之前需要先修改默认size
Admin-->Configuration-->General Configuration,把【Bintray Max Files Upload】修改为200M并保存。
然后上传本地gradle.zip文件
点击左侧菜单栏的Artifacts
,选择之前创建的本地仓库,然后点击右上角的Deploy
,在弹出的界面,选择需要上传的文件,上传完成后,点击右下角的deply。
修改项目根目录下的build.gradle
文件,将buildscript
和allprojects
节点下的repositories
修改为本地搭建的artifactory
地址
修改gradle-wrapper.properties文件中的distributionUrl的值
此时从新编译项目,项目依赖的资源,会先下载到本地仓库,后续再新建项目,依赖的资源如果在本地仓库已经存在,则会先引用本地仓库的资源。通过引用本地仓库,能够加快项目构建。
最后附上使用本地库和不使用本地库编译时间的对比