JForg Artifactory的介绍、安装和使用

原来我们业务部署的方式,无论是生产环境还是预发环境都是直接从git仓库拉取代码,maven编译构建打包,然后通过ansible进行下一步的操作。

这个过程基本上是没有问题的,但是考虑到预发环境和生产环境使用的是同一套代码,那么我们完全可以把在生产环境的CI和CD,直接修改为CD。也就说git仓库拉取代码,maven编译构建打包,这两个步骤完全省略掉,直接使用预发环境的生成的构建产物进行部署。

除此之外,在做回滚发布时,通过直接部署上次的构建产物这个也是最快的,最节省时间的。

所以最近要对该部署方案进行优化,其中一个很关键的点,就是如何处理构建后产物的。

目前业务代码使用的是springboot架构进行开发,所以各个环境的配置文件都会被打包最终的jar包中。

如果使用的是docker或者k8s部署业务的话,很好处理,我们只需要把最终产物达成镜像推送到docker仓库,然后生产部署时,直接从docker仓库拉取对应的docker镜像进行部署即可。

如果没有使用docker或者k8s部署业务的话,我们可以使用jfrog artifactory(以下文章简称jfrog)或者nexus3,这些二进制包管理工具,管理构建产物。在预发环境阶段把生成的jar包,存放到jfrog。然后生产环境部署时,jenkins直接从jfrog中拉取对应的jar包即可。

一、jfrog artifactory简介

jfrog artifactory是一款二进制存储管理工具,用来管理构建工具(如:maven、gradle)等所依赖的二进制仓库,以方便管理第三方库和发布目标版本库,从而提高软件开发效率。它提供大量的插件以利于和不同工具之间的整合,内部使用权限管理更加安全,并支持高并发等等特性。

另外我们搭建Artifactory私服的原因还有:

私有仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为:

  • 构件(jar)是二进制文件,不属于git版本控制系统,后者在处理文本文件方面比较好
  • 减少可能的版本冲突
  • 减少首次构建时需要的手动干涉
  • 中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好
  • 使用内部仓库做clean构建时会快些,因为Maven构件是从内部服务器而不是从因特网上获取

二、环境安装
JFrog Artifactory在官网上有企业版和开源版可供选择,以下的讲解都是在开源版的基础上来进行的。

所需的基本环境配置如下:

VMwares 15(及以上)
CentOS 7
Docker(推荐最新版本)
XShell 7(推荐使用)
Xftp(推荐使用)

2.1jdk环境
首先,JFrog的运行需要jdk1.8以上的版本支持,配置jdk环境的过程这里就不在赘述了,如有问题,请参考:https://www.cnblogs.com/stulzq/p/9286878.html。

安装好后的结果如图2-1所示:


                                                                        图2-1
2.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

具体如图2-2所示:


                                                                        图2-2
b. 安装并启动JFrog
推荐使用Xftp 7(文件传输工具)来将下载好的压缩包传到linux的root目录下。具体如图2-3所示:


                                                                        图2-3
然后使用命令:

tar -zxvf jfrog-artifactory-oss-7.24.3-linux.tar.gz 

进行解压,解压后的文件夹也在同级目录下,具体如图2-4所示:


                                                                                图2-4
接着在CentOS中,或者XShell(推荐使用)中,

cd ./artifactory-oss-7.24.3/app/bin目录下,

再执行./artifactoryctl start启动服务。具体如图2-5所示:


                                                                        图2-5
注:该服务的默认端口为8081。

若端口被占用,可以使用8082,若想更改端口具体可以参考:JFrog Artifactory如何自定义网络端口?

2.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

出现红色内容则表明启动成功,具体如图2-6所示:


                                                                        图2-6
2.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。(密码可以自己修改)

具体结果如图3-1所示:


                                                                图3-1
四、新建仓库
登录后点击左侧Repositories,新建本地仓库(Add Repositories—Local Repositories),JFrog Artifactory的页面布局有可能会有不同。具体如图4-1所示:


                                                                        图4-1
接下里就可以看到仓库的类别了,目前开源的JFrog版本只支持Gradle、ivy、maven、SBT、Generic5种仓库类型。我们选择基本的Generic类型进行创建,具体如图4-2所示:


                                                                       图4-2
接着将新建的仓库命名,点击创建。其它的一些操作这里暂时不去理会,先将仓库建立起来。具体如图4-3所示:


                                                                        图4-3
现在,本地的Generic类型仓库已经创建起来了。具体如图4-4所示:


                                                                        图4-4
五、上传文件到JFrog
我们可以通过两种方式上传文件到jfrog中,一种是通过web页面,一种是通过api的方式。下面一一进行介绍:

注:需要注意下新上传的文件,在同一个仓库同一个子目录下时,如果已经存在同样命名的文件,那么新上传的文件会覆盖已经存在的文件。

5.1通过web页面上传
首先我们需要将配置中的文件限制做一下更改,默认是限制上传文件大小为100MB,我们把它改成0,即不限制大小。具体如图5-1所示:


                                                                                图5-1
上传文件的具体步骤如下:找到Artifacts,同时点击自己刚才生成的仓库,再点击右上角Deploy。具体如图5-2所示:


图5-2
选中要上传的文件(自己选择的本地文件)后,如果不需要在Target Path中设置子目录,那我们直接点击Deploy进行上传。具体如图5-3所示:


                                                                图5-3
之后就可以在web端看到文件上传成功的信息了,包括文件名、大小、创建时间、仓库路径、MD5值,以及SHA-1值。

SHA-1值:8d3c2320a07c533ad2086e09d93fc31b7e4544c2

MD5值:65efedfad0964b5c4b1722008d3499fd

具体如图5-4所示:


                                                                        图5-4
5.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”
 



原文链接:https://blog.csdn.net/weixin_43248862/article/details/120159709

烂泥:jfrog artifactory的安装与使用_lanni654321-GitCode 开源社区

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值