云客户?
开始免费>
升级MyJFrog >
云有什么新鲜事>





概述

Artifactory支持Git大文件存储(LFS)在Artifactory的知识库之上现有的支持用于高级工件管理。

Artifactory对Git LFS的支持为您提供了一个功能齐全的LFS服务器,它与Git LFS客户端一起工作。

来自Git仓库的LFS blobs可以在Artifactory中推送和维护,提供以下好处:

  • 性能:
    使用Artifactory在本地或公司网络上的文件存储,文件下载时间可能会显著减少。在考虑构建可能需要的文件数量时,这可以大大减少构建时间并简化工作流。
  • 对二进制文件的可靠且一致的访问:
    使用Artifactory作为您的LFS存储库,您开发和构建所需的所有资源都存储在您自己的本地或公2022世界杯阿根廷预选赛赛程司网络和存储中。这使您独立于外部网络或任何第三方服务。
  • 与远程Git LFS存储库共享二进制资产
    通过代理其他Artifactory实例或GitHub上的Git LFS存储库,在跨组织的团队之间共享您的视频、音频、图像文件和任何其他二进制资产。
  • 使用单个URL上传和下载二进制资产
    使用虚拟Git LFS存储库作为二进制资产的源和目标。通过包装本地和远程存储库,并在虚拟Git LFS存储库中定义部署目标,您的Git LFS客户机只需要在使用二进制资产的所有工作中暴露给那个虚拟存储库。

  • 安全和访问控制:
    Artifactory允许您定义哪些用户或用户组可以访问您的LFS存储库,并提供一整套您可以配置的权限。您可以控制开发人员可以将二进制资产部署到哪里,是否可以删除资产等等。如果您关心的是对服务器的访问,Artifactory将提供与最常见的访问协议(如LDAP、SAML、Crowd等)的完全集成。
  • 所有二进制文件的一个解决方案:
    O因为你正在使用Artifactory来存储媒体资产,所以没有必要使用第三方LFS提供商。Artifactory现在可以处理这些文件以及它已经为您管理的所有其他二进制文件。
页面内容



配置

局部存储库

创建Git LFS本地存储库并启用计算LFS包元数据,从政府模块,选择存储库|存储库|当地的并设置Git LFS随着包装类型。

远程存储库

您可以创建一个Git LFS远程存储库在其他Artifactory实例上代理Git LFS本地存储库,并享受所有的特性智能远程存储库

要定义Git LFS远程存储库,政府模块,选择存储库|存储库|远程而且将其包类型设置为Git LFS,并设置要代理的存储库的URL。

虚拟存储库

Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单个URL访问本地托管的二进制资产和远程代理的Git LFS存储库。

要创建Git LFS虚拟存储库,政府模块,选择存储库|存储库|虚拟而且Git LFS为其包类型并选择底层本地和远程Git LFS存储库包含在存储库部分。

确保你也设置了默认部署存储库因此,您可以从这个存储库下载和上传。

设置Git LFS客户端指向Artifactory

为了让您的客户端从artifactory上传和下载LFS blobs(lfs)条款应加在。lfsconfig以下格式的Git存储库文件。

.lfsconfig
[lfs] url = "https:///api/lfs/< lfs repo key>"例如:[lfs] url = "https://localhost:8080/artifactory/api/lfs/lfs-local"

你也可以在你的repo上为不同的远程设置不同的LFS端点(由Git LFS客户端支持),例如:

.git/为远程配置不同的LFS url
[remote "origin"] url = https://..。Fetch = +refs/heads/*:refs/remotes/origin/* lfsurl = "http://localhost:8081/artifactory/api/lfs/lfs-local"

使用Set Me Up复制这些条款

如果您在树浏览器中选择Git LFS存储库并单击陷害我,Artifactory将在一个对话框中显示这些子句,您可以简单地从中复制和粘贴它们。

使用代理和HTTPS

当使用带有自签名证书的HTTPS(即代理后)时,您的配置可能还需要添加以下内容:

.gitconfig http节
[http] sslverify = false
在以这种方式绕过安全协议之前,一定要咨询您的系统管理员。
当在代理后面运行Artifactory时,定义一个基url通常是必需的(取决于配置),因为
Git LFS客户端接收重定向url到blobs的确切上传/下载位置。

LFS存储库必须在路径中以api/ LFS作为前缀

当通过Artifactory访问Git LFS存储库时,存储库URL必须加上前缀api / lfs的路径,配置复制时除外

例如,如果您正在使用Artifactory独立或作为本地服务,您将使用以下URL访问您的LFS存储库:

http://localhost:8081/artifactory/api / lfs /<库关键>

或者,如果你正在使用云,URL将是:

https:// < server name > .jfrog.io / artifactory /api / lfs /<库关键>


当配置复制时,引用存储库的可浏览url,即;

http://localhost:8081/artifactory/> / <库关键


在没有匿名访问的情况下与Artifactory合作

默认情况下,Artifactory不允许匿名访问Git LFS存储库。的定义政府模块下安全|设置详情请参阅允许匿名访问

Git LFS客户端在访问Artifactory LFS repo时将请求它的凭据—如果允许匿名访问,您可以只输入空白凭据,否则您应该输入Artifactory用户名和密码(而不是Git用户名和密码)。

要使身份验证过程自动,您可以使用Git凭据助手来为您存储这些文件,并让Git LFS客户端自动进行身份验证。

Git默认情况下以纯文本的形式存储凭据

在使用Git凭据帮助程序时,您应该采取额外的措施来保护您的用户名和密码。

使用SSH进行身份验证

Artifactory支持通过SSH对Git LFS客户端进行身份验证。

在使用Git LFS客户端时,要通过SSH进行身份验证,请执行以下步骤:

  1. 中的描述,确保Artifactory为SSH正确配置SSH服务器配置
  2. 在用户配置文件的SSH部分上传SSH公钥中描述的配置用户身份验证
  3. 配置Git LFS客户端如下:
    1. 更新known_hosts带有Artifactory服务器公钥的文件。该文件位于~ / . ssh / known_hosts(下面还有一个系统级文件/etc/ssh/known_hosts).这应该采用以下格式:
      []: < Artifactory服务器公共ssh密钥>的内容
      例如,

      [myartifactory.company.com]: 1339将AAAAB3Nza……PC0GuTJT9TlaYD user@domain.com
    2. 更新你的.lfsconfig在存储库级别(不是全局级别)的文件如下:
      ssh: / / USERNAME@主持人:美元美元港口/ artifactory / < repoKey >
      例如,

      url = " ssh: / / git@myartifactory.company.com: 1339 / artifactory / lfs-local”

Artifactory在线专用服务器

如果您正在使用Artifactory Cloud上的专用服务器并希望通过SSH进行身份验证,请联系support@www.si-fil.com


元数据

由于Git LFS客户端只提供关于正在上传的blob的有限数据(只有它的sha256校验和,或者OIDArtifactory不为LFS blob存储或处理任何元数据。

您可以根据自己的方便在blob上设置属性,但这需要额外的逻辑,从存储在Git存储库中的实际指针推断存储在Artifactory中的sha256命名的文件。


存储

Artifactory以类似于Git LFS客户端的方式存储LFS blob,使用提供的sha256校验和。

Git LFS blobs将存储在一个路径下,例如< lfs_repo > /对象/广告/1 b/ ad1b8d6e1cafdf33e941a5de462ca7edfa8818a70c79feaf68e5ed53dec414c4

在哪里广告而且1 b分别是blob名称中的第1、2、3、4个字符。


Git从LFS端点下载失败时的LFS行为

如果从LFS端点下载blob失败(即证书错误、网络错误等),Git LFS客户端将下载它在远程Git存储库中创建的指针文件。

这将导致本地回购中的实际文件被LFS客户端创建的指针所取代名字相同并导致这种行为可能导致的各种问题。

这是跟踪的LFS客户机的一个限制发行89


快速入门指南

访问我们的知识库Git LFS与Artifactory的快速启动指南


版权所有©2022 JFrog有限公司