简介
Jfroge的artifactory 是一款Maven仓库服务端软件,可以用来在内网搭建maven仓库,供公司内部公共库的上传和发布,以提供公共代码使用的便利性。
Artifactory的仓库主要分三类:local、remote、virtual
本地私有仓库(local):用于内部使用,上传的组件不会向外部进行同步;
远程仓库(remote):用于代理及缓存公共仓库,不能向此类型的仓库上传私有组件;
虚拟仓库(virtual):不是真实在存储上的仓库,用于组织本地仓库和远程仓库
组件
组件 | 安装目录 |
---|---|
jfrog-artifactory-oss-4.8.0.zip | /usr/local/artifactory |
jdk-8u121-linux-x64.tar.gz | /usr/local/jdk1.8.0_121 |
安装配置
1.安装jdk
cd /usr/local/src
tar –zxvf jdk-8u121-linux-x64.tar.gz –C ../
2.安装artifactory
cd / usr/local /src
unzip jfrog-artifactory-oss-4.8.0.zip
mv artifactory-oss-4.8.0 ../artifacotry
cd / usr/local/artifactory/bin
vim artifacoty.default
修改如下:
export ARTIFACTORY_HOME=/ usr/local/artifactory
export ARTIFACTOR_USER=root
export JAVA_HOME=/ usr/local/jdk-1.8.0_121
3.启动
bash /usr/local/artifactory/bin/artifactory.sh start
4.访问
http://10.10.100.5:8081
默认用户名/密码:admin/password
导入/导出(export/import)
artifactory仓库初始为空,需要从源仓库导出,然后再导入到此仓库。
export
export分为system/repositories,其中:
system为导出整理artifactory系统所有配置及所有仓库;
repositories为导出artifactory系统的所有仓库;
本例为导出repositories
1.进入Admin-Import&Export-Repositories-Export Repository to Path页面
2.选择“All Repository”;
3.选择“Export Path on Server”,点击“Browse”,将仓库导出到/root/export目录中;
4.选择“Export”即可进行到处;
导出过程可以查看“Admin-Advanced-System Logs”来了解导出进度;当然也可查看/ usr/local/artifactory/logs/artifactory.log
导出完毕后,会在/root/export/repository,respository就是我们导出的所有仓库
import
export也分为system/repositories,本例为导入repositories
对于一个新的仓库,需要提前建好和源仓库一样的repository,因此在执行导入前,我们需要对照源仓库建好对应的repository,如:
在Admin-Repositores中的Local,Remote,Virtual中,点击“New”来创建对应的仓库(多余的repository可以删除),建好可以按以下步骤进行导入工作:
1.进入Admin-Import&Export-Repositorie-Import Repository to Path页面
2.选择“All Repository”;
3.选择“Import Path on Server”,点击“Browse”,选择/root/export目录;
4.选择“Import”即可进行导入;
导入过程可以查看“Admin-Advanced-System Logs”来了解导出进度;当然也可查看/ usr/local/artifactory/logs/artifactory.log
导入完毕后,可以点击Home页面,可看到“JFrog Artifactory is happily serving *** artifacots”。
Deploy部署
在开发过程中,通常会出现缺少包的问题,尤其在无法连接外网的情况下,需要我们进行deploy,将缺少的包部署到仓库。
1.安装本地jar包到artifactory
1.准备本地jar包文件
此目录下surefire-booter-2.7.1.jar、surefire-booter-2.7.1.pom都需要deploy,以jar文件为例,pom文件按一样步骤deploy即可。
2.点击Artifacts-Deploy
其中:
“Target Repository”主要为internal、libs、snapshot,此例中我们选择libs第三方库;
3.选择“Select file”,到org/apache/maven/surefire/surefire-booter/2.7.1目录中选择surefire-booter-2.7.1.jar,并路径填写:
Goup ID
Artifact ID
Version
Type
最后勾选 Generate Default POM/Deploy Jar’s Internal POM;
注意:有的jar会自动填写以上信息,这些信息和路径相对应。
4.点击Deploy进行提交
2.安装本地源码到artifactory
从本地安装的用户必须为artifactory中具有读写权限或为admin角色,需要在settings.xml中添加用户名及加密密码,例如:
Artifactory管理角色为test,密码为test666
mvn –ep test666 加密后会生成一串字符
再设置setttings.xml,设置用户名为test,密码为刚才生成的字符串。
准备完以上步骤后,即可进行源码部署:
1.准备源码文件rpc-client-demo
2.进入源码目录,修改pom.xml
按照源码目录,依次分别输入groupId、artifactoryId、version、packageing
注意:version为1.0.0会传输到远程仓库的internal,而为1.0.0-SNAPSHOT则会传输到远程仓库的snapshot。
图2:
需要添加artifacoty的远程仓库
3.进入源码目录,安装到本地repository
mvn install
4.进入源码目录,进行部署
mvn deploy
部署完毕后,控制台打印SUCCESS。
如果你对博文感兴趣,请关注我的公众号“木讷大叔爱运维”,与你分享运维路上的点滴。