jfrog artifactory 的使用

2023-10-29

jfrog artifactory 使用

Artifactory 仓库类型

​ Artifactory 仓库主要有四种类型,远程仓库、本地仓库、虚拟仓库及分发仓库,分别应用在如下不同的场景。

在这里插入图片描述

远程仓库
Artifactory 仓库支持代理公网或内网二进制软件制品仓库(Artifactory, Nexus,Harbor等),按需获取后在本地进行缓存,可大幅度提升构建效率。于代理及缓存公共仓库,不能向此类型的仓库上传私有组件。

本地仓库
Artifactory 本地仓库用来存储本地构建产出的软件制品。本地仓库中的软件制品通常都带有丰富的元数据,并且通过基于角色的访问控制(RBAC)实现资源隔离。用于内部使用,上传的组件不会向外部进行同步。

虚拟仓库
为满足制品管理的多团队协作需求,虚拟仓库通过打包任意数量的远程仓库和本地仓库,暴露唯一的访问入口的方式,将制品提供者和消费者之间的耦合度降到最低,提升协作效率。

分发仓库
分发仓库通过JFrog Bintray SaaS服务满足软件制品公网分发的需求,提供默认的全球CDN加速服务。

修改base url

在这里插入图片描述

创建本地仓库

用于deploy自己的jar包

​ 选择创建本地库:

在这里插入图片描述

​ 选择maven类型:

在这里插入图片描述

输入有意义的库名:

在这里插入图片描述

上传包:x-pack-sql-7.8.0.jar

在这里插入图片描述

注意: 如果提示你 jar 过大是因为 jfrog 默认最大只能上传 100m 的资源,可以去设置里进行更改,然后再重新上传。

在这里插入图片描述

查看:

在这里插入图片描述

访问一下包:

在这里插入图片描述
一般情况下,需要根据环境创建local库,这里创建两个:一样的建立方式, 一个release库, 一个snapshot库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OVjGPqQU-1658780314824)(好好学习.assets/image-20220726041401393.png)]

两个本地库如下:

在这里插入图片描述

创建远程仓库

在这里插入图片描述

Select Package Type 选择 MavenRepository Key 输入一个有意义的名字

在这里插入图片描述

在这里插入图片描述
配置一下basic即可:

在这里插入图片描述

默认的远程仓库是https://repo1.maven.org/maven2/

也可以改成阿里仓库地址的https://maven.aliyun.com/repository/public 等

然后点击右下角的Create Remote Repository即可

​ 其中:https://repo1.maven.org/maven2/ ,test能成功

阿里仓库会test报错,不用去理会报错
在这里插入图片描述

阿里云Maven仓库

官方介绍: https://developer.aliyun.com/mvn/guide
​ 阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。

阿里云云效 是企业级一站式 DevOps 平台,覆盖产品从需求到运营的研发全生命周期,其中云效也提供了免费、可靠的Maven私有仓库 Packages 和代码管理仓库 Codeup,欢迎您体验使用。

​ 云效制品仓库 Packages 致力于帮助开发者统一管理各种开发语言在开发、构建过程中的依赖,构建成果(二进制制品)以及交付过程关键信息的重要组件。

​ 云效代码管理 Codeup 是阿里云出品的一款企业级代码管理平台,提供代码托管、代码评审、代码扫描、代码度量等功能,不限人数、超大容量且免费使用,全方位保护代码资产,帮助团队实现安全、稳定、高效的研发管理。

在这里插入图片描述

阿里云maven 配置指南:

​ 打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml ),在标签中添加 mirror 子节点:

<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

​ 如果想使用其它代理仓库,可在节点中加入对应的仓库使用地址。以使用 spring 代理仓为例:

<repository>
  <id>spring</id>
  <url>https://maven.aliyun.com/repository/spring</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

​ 在你的 pom.xml 文件节点中加入你要引用的文件信息:

<dependency>
  <groupId>[GROUP_ID]</groupId>
  <artifactId>[ARTIFACT_ID]</artifactId>
  <version>[VERSION]</version>
</dependency>

​ 执行拉取命令:

mvn install

创建虚拟仓库

​ 创建好本地仓库和远程仓库,如果项目中要引用仓库的话需要同时依赖多个仓库,需要再创建一个虚拟仓库,统一管理本地和远程仓库,项目中只需要引用虚拟仓库即可。

在这里插入图片描述

在这里插入图片描述

这样设置之后我们开发的之后就直接设置maven的仓库地址为虚拟仓库fazi_virtual_repo,找不到的jar包会从远程仓库中找,同时我们发布的jar包会直接发布到artifactory的本地仓库libs-release-local中.

一般情况下,与local库一致,也是需要创建相应的两个virtual库:

一样的建立方式, 一个代理release, 一个代理snapshot, 注意排序和选择默认的deploy库, 这样在maven项目中deploy jar包时, jfrog才知道要部署要哪个库(否则就要在maven setting和distributionManagement中指定部署的私库)

在这里插入图片描述

同样的创建过程:注意不同的virtual库选择不同的local库

在这里插入图片描述

在这里插入图片描述

创建用户和组

用户:

在这里插入图片描述

组:

在这里插入图片描述

在这里插入图片描述

配置仓库权限

​ 建议按组配置

在这里插入图片描述

这里配置仓库,不能选择virtual库,只能是远程库和本地库。

在这里插入图片描述

分配组:

在这里插入图片描述

项目中使用仓库

在以下页面找到仓库的地址

在这里插入图片描述

创建setting.xml:

在这里插入图片描述

​ 简单的修改一下生成的setting.xml文件,修改用户名和密码之后就可以用生成的settign 文件覆盖maven的conf文件夹下面的设置文件.

​ 注意增加本地库目录配置:

C:/Program Files/apache-maven-3.8.4/m22/repository

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.2.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	
  <localRepository>C:/Program Files/apache-maven-3.8.4/m22/repository</localRepository> 
  
  <servers>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
      <id>central</id>
    </server>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
      <id>snapshots</id>
    </server>
  </servers>
  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>fazi_release_virtual</name>
          <url>http://lsyk04:8081/artifactory/fazi_release_virtual</url>
        </repository>
        <repository>
          <snapshots />
          <id>snapshots</id>
          <name>fazi_snapshot_virtual</name>
          <url>http://lsyk04:8081/artifactory/fazi_snapshot_virtual</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>fazi_release_virtual</name>
          <url>http://lsyk04:8081/artifactory/fazi_release_virtual</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots />
          <id>snapshots</id>
          <name>fazi_snapshot_virtual</name>
          <url>http://lsyk04:8081/artifactory/fazi_snapshot_virtual</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>

​ 完成上述设置之后我们就可以找一个自己的maven工程,然后再工程目录下使用mvn clean package 我们就能发现mvn会从artifactory 服务器中拉取依赖。

上述的密码是加密的,在jfrog artifactory 里会加密成功:

  1. 在user 里可以

    在这里插入图片描述

  2. 在set me up里生成后下载:

    在这里插入图片描述

    生成后点击下载:

    在这里插入图片描述

pom文件设置

​ 打开上面步骤中使用过得Set Me Up 界面,选择Deploy ,我们只需要在自己的项目pom文件中加入下面的设置之后,我们就可以直接使用mvn deploy 想打包好的jar文件发布到artifactory的本地仓库中

在这里插入图片描述

在项目的 pom.xml 文件添加如下配置

<distributionManagement>
    <repository>
      <id>central</id>
      <name>lsyk04-releases</name>
      <url>http://lsyk04:8081/artifactory/fazi_release_virtual</url>
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <name>lsyk04-snapshots</name>
      <url>http://lsyk04:8081/artifactory/fazi_snapshot_virtual</url>
    </snapshotRepository>
  </distributionManagement>

##### 以上经过了测试,id要和setting里的id一致
##### 以下没有测试
<repositories>
      <repository>
          <id>jfrog</id>
          <name>jfrog</name>
          <!-- 注意:这里是 jfrog 服务上的仓库地址 -->
          <url>http://lsyk04:8081/artifactory/fazi_release_virtual/</url>
          <!-- Release版本则代表稳定的版本 -->
          <releases>
              <enabled>true</enabled>
          </releases>
          <!-- Snapshot版本代表不稳定、尚处于开发中的版本,默认关闭,需要手动启动 -->
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
      </repository>
  </repositories>
 
  <!-- 指定插件仓库 -->
  <pluginRepositories>
      <pluginRepository>
          <id>jfrog</id>
          <name>jfrog</name>
          <url>http://lsyk04:8081/artifactory/fazi_release_virtual//</url>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
      </pluginRepository>
  </pluginRepositories>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jfrog artifactory 的使用 的相关文章

随机推荐

  • Weex内置组件的使用——Weex的学习之路(二)

    最近公司项目不是很忙 就和组内成员商量利用时间学学新技术 最终在Weex和Flutter做选择 Weex是由阿里的大牛们开发出来语言 Flutter是由Google公司开发的 各种网上查找得出的评论都是Flutter更有前景 但是最终我们还
  • unity-Camera参数介绍、种类、操作以及获取相机截图画面

    总结一下学到的Camera 相关知识 unity中的Camera unity中相机参数介绍 Camera种类 对相机操作 截取相机画面到本地 unity中的Camera 相机是我们观察游戏世界的窗口 在unity中至少需要一个相机 可以使用
  • 使用Git在cmd控制台上传到Gitee平台文件

    注 以下操作实在Git安装完整且环境配置成功后才可正常操作 还需提前注册好Gitee账号 一 选择你要上传的文件夹 进到文件夹目录 输入cmd进入控制台 在控制台输入Git v 查询自己的Git环境变量是否配置成功 控制台继续输入Git i
  • Linux进程栈区、堆区、数据区、程序区

    1 内存映射 堆区 栈区 程序区 数据区 函数参数从右向左入栈 栈溢出原理 栈中保存的局部变量缓冲区发生溢出 导致栈中其它存储单元内容被重写 导致溢出的常用函数strcpy memcpy 1 gt 栈区 主要用来存放局部变量 传递参数 存放
  • MAE ViT过程,随机选取75%的patch mask掉。将原始图像分块作为一个list,然后random shuffle一遍,选取shuffle后在list中排在后75%的 patch,将他们ma

    在看到ViT出来的时候 我就在想 既然都已经把图像token化了 并且结构上都保持与BERT一致 那为什么最后的预训练目标非得是图像分类而不直接保持BERT的Mask Language Model的预训练目标呢 果然 在MAE中就尝试了这种
  • Ubuntu 16.04 x64搭建GitLab服务器操作笔记

    本人在作业部落上的原文 https www zybuluo com lovemiffy note 418758 本文主要记录在Ubuntu 16 04操作系统中搭建GitLab服务器的操作记录 以下是操作步骤 主要参考资料 https ab
  • OpenAI CTO、吴恩达夫人……AI 领域值得关注的「她」力量,个个都是女强人

    内容一览 她时代 来临 一些有着强大信念与热情的女性 纷纷投身至 AI 领域 成为不可或缺的存在与力量 值此国际妇女节到来之际 HyperAI超神经盘点了领域内令人印象深刻的杰出的女性代表 关键词 国际妇女节 人工智能 杰出女性 技术本无关
  • 南丁格尔玫瑰图

    1 绘制南丁格尔玫瑰图的步骤 数据准备工作 准备好角度数值和半径数值 建立画布 并将直角坐标转化为极坐标 并对极坐标进行一定的设置 使用bar函数进行绘图 对图形进行美化处理 2 上代码 import numpy as np import
  • 基于SSM的教师管理系统

    文末获取源码 项目技术栈 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用HTML和Vue相结合开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Ec
  • CocosCreater 教程(中)

    1 图形渲染 1 1 渲染管线 RenderPipeline 用于控制场景的渲染流程 包括光照管理 物体剔除 渲染物体排序 渲染目标切换等 引擎默认使用 前向渲染管线 前向渲染管线的执行流程如下图所示 1 2 相机 游戏中的相机是用来捕捉场
  • linux查看MySQL服务状态

    最近自己的博客服务器总是挂掉 虽然用的是阿里云配置比较低的 但是之前也是好好的还相对比较稳定的 感觉这套路云又在搞事情 首先要看一下MySQL服务状态 一般来说我们都会用命令交互命令mysql来 service mysql status 但
  • 《管理的套路》简述(一)

    1 SMART原则 适用于目标设定 任务委派 Specific 具体明确的 Measurable 可衡量的 Achievable or Attainable 可达成的 Relevant or Realistic 相关的或现实的 Time l
  • 《AI秘籍》预告

    Hi 大家好 我是茶桁 这里为自己做个广告 目前打算开始写一整个系列 AI秘籍 这一段时间内我写过一个系列 零基础学习大语言模型 目前还没写完 说实话 这个系列其实原出处并不是我 严谨的说来 有涉嫌擦边 洗稿 的嫌疑 所以最后放弃了收费的想
  • Shiro面试必问

    Shiro的优点 简单的身份认证 支持多种数据源 对角色的简单的授权 支持细粒度的授权 方法级 支持一级缓存 以提升应用程序的性能 内置的基于 POJO 企业会话管理 适用于 Web 以及非 Web 的环境 非常简单的加密 API 不跟任何
  • Sass 基础教程——安装

    本篇主要如何安装 Sass 并不需要 CSS 知识 不过对 CSS 不熟悉的同学可参考我之前写的系列教程 CSS入门篇 CSS进阶篇 CSS高级篇 上一篇我们提到过 Sass 是一种 CSS 的扩展语言 也是一种脚本语言 需要转换成 CSS
  • MyBatis-Plus学习笔记

    一 MyBatis Plus 1 简介 MyBatis Plus opens new window 简称 MP 是一个 MyBatis opens new window 的增强工具 在 MyBatis 的基础上只做增强不做改变 为简化开发
  • 【Python】群体智能算法优化支持向量机

    Python 群体智能算法优化支持向量机 本文主要介绍了基于流行智能算法Grey Wolf Optimizer GWO 来优化支持向量机模型的代码 from sklearn svm import SVR import pandas as p
  • 解决 TypeError: 'NoneType' object has no attribute '__getitem__'

    其实这个问题的出现一般是某个变量是空 也就是 NoneType 类型导致的 大致按照这个方向排错即可解决 最近在处理一个图片问题的时候 大致写的代码是把某个路径下面的图片找到 读到内存里面 在依据x1 y1 x2 y2四个坐标值把图片的RO
  • 一个优秀的C#开源绘图软件 DrawTools

    1 Extensions to DrawTools Author Mark Miller I develop software for a leading healthcare system in Northern Illinois Dow
  • jfrog artifactory 的使用

    jfrog artifactory 使用 Artifactory 仓库类型 Artifactory 仓库主要有四种类型 远程仓库 本地仓库 虚拟仓库及分发仓库 分别应用在如下不同的场景 远程仓库 Artifactory 仓库支持代理公网或内