JFrog之Artifactory安装配置
前言
何为JFrog?相信大家第一次听到JFrog这个词会有点陌生,按照官网的介绍,它是一个完全支持所有主要格式程序包的存储器管理器。
作为一个二进制包管理工具,可以用于管理构建产物:即把生成的jar包存放到JFrog,当在生产环境进行部署时,Jenkins直接从JFrog中拉取对应的jar包即可。
一、环境安装
JFrog Artifactory在官网上有企业版和开源版可供选择,以下的讲解都是在开源版的基础上来进行的。
所需的基本环境配置如下:
- VMwares 15(及以上)
- CentOS 7
- Docker(推荐最新版本)
- XShell 7(推荐使用)
- Xftp(推荐使用)
1.1jdk环境
首先,JFrog的运行需要jdk1.8以上的版本支持,配置jdk环境的过程这里就不在赘述了,如有问题,请参考:https://www.cnblogs.com/stulzq/p/9286878.html。
安装好后的结果如图1-1所示:
1.2以tar.gz方式安装
执行以下所有步骤前,必须禁止CentOS的防火墙服务,命令如下:
systemctl disable firewalld.service
有两种方式来安装Jfrog Artifactory:一个是tar.gz方式,还有docker的方式。这里推荐使用tar.gz的方式来安装,理由是简单直接:在文件目录下解压,cd到bin目录即可启动。详情往下看:
a. 下载zip包
前往https://jfrog.com/open-source/#artifactory下载Linux上的tar.gz开源版,该版本(oss版)只支持Gradle、ivy、maven、SBT、Generic5种仓库类型。
如有需要百度网盘请自取:
链接:https://pan.baidu.com/s/1F94fp0_F4ItuSyASB4NYJg
提取码:gu5j
具体如图1-2所示:
b. 安装并启动JFrog
推荐使用Xftp 7(文件传输工具)来将下载好的压缩包传到linux的root目录下。具体如图1-3所示:
然后使用命令:
tar -zxvf jfrog-artifactory-oss-7.24.3-linux.tar.gz
进行解压,解压后的文件夹也在同级目录下,具体如图1-4所示:
接着在CentOS中,或者XShell(推荐使用)中,
cd ./artifactory-oss-7.24.3/app/bin目录下,
再执行./artifactoryctl start启动服务。具体如图1-5所示:
注:该服务的默认端口为8081。
若端口被占用,可以使用8082,若想更改端口具体可以参考:JFrog Artifactory如何自定义网络端口?
1.3Docker方式安装
使用Docker方式安装需要提前在centos中安装Docker,具体教程参考:https://www.cnblogs.com/wang-yaz/p/10429899.html
在安装好Docker之后,直接执行以下命令:(使用多个端口,防止被占用)
docker run --name jfrog-oss -d -v data_artifactory:/var/opt/jfrog/artifactory -p 8081:8081 -p 8082:8082 -p 8046:8046 -p 8049:8049 -p 8070:8070 docker.bintray.io/jfrog/artifactory-oss
出现红色内容则表明启动成功,具体如图1-6所示:
1.4jcr版本安装
此版本是JFrog Artifactory的另一版本,该版本的安装、配置和oss版本完全一致。
不同的地方在于该版本支持包括docker在内的三种仓库类型:Docker、HELM和Generic。
如有需要百度网盘请自取:
链接:https://pan.baidu.com/s/1cbCusUSg6T7QUSNW9sokKg
提取码:vb92
二、启动服务并访问
在1.2章中我们已经启动了JFrog服务,现在就可以通过在浏览器中输入 http://虚拟机ip地址+8081/ui/login/进行访问了。
JFrog默认的端口是8081(被占用可以换成8082),登录默认的用户名是:admin,密码是password。(密码可以自己修改)
具体结果如图2-1所示:
三、新建仓库
登录后点击左侧Repositories,新建本地仓库(Add Repositories—Local Repositories),JFrog Artifactory的页面布局有可能会有不同。具体如图3-1所示:
接下里就可以看到仓库的类别了,目前开源的JFrog版本只支持Gradle、ivy、maven、SBT、Generic5种仓库类型。我们选择基本的Generic类型进行创建,具体如图3-2所示:
接着将新建的仓库命名,点击创建。其它的一些操作这里暂时不去理会,先将仓库建立起来。具体如图3-3所示:
现在,本地的Generic类型仓库已经创建起来了。具体如图3-4所示:
四、上传文件到JFrog
我们可以通过两种方式上传文件到jfrog中,一种是通过web页面,一种是通过api的方式。下面一一进行介绍:
注:需要注意下新上传的文件,在同一个仓库同一个子目录下时,如果已经存在同样命名的文件,那么新上传的文件会覆盖已经存在的文件。
4.1通过web页面上传
首先我们需要将配置中的文件限制做一下更改,默认是限制上传文件大小为100MB,我们把它改成0,即不限制大小。具体如图4-1所示:
上传文件的具体步骤如下:找到Artifacts,同时点击自己刚才生成的仓库,再点击右上角Deploy。具体如图4-2所示:
选中要上传的文件(自己选择的本地文件)后,如果不需要在Target Path中设置子目录,那我们直接点击Deploy进行上传。具体如图4-3所示:
之后就可以在web端看到文件上传成功的信息了,包括文件名、大小、创建时间、仓库路径、MD5值,以及SHA-1值。
SHA-1值:8d3c2320a07c533ad2086e09d93fc31b7e4544c2
MD5值:65efedfad0964b5c4b1722008d3499fd
具体如图4-4所示:
4.2通过api方式上传
通过api的方式上传文件的方式比较简单,通过使用curl命令发送PUT请求即可。
使用以下命令:
curl -X PUT -u admin:Password123& -T tr.jar “http://192.168.253.128:8082/artifactory/test-rep-maven/user/tr.jar”