云客户?
免费开始>
在MyJFrog中升级>
云的新功能>







概述

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

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

Git存储库中的LFS blob可以在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

为了让您的客户端上传和下载LFS blob(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/config不同的远程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回购时将请求其凭据——如果允许匿名访问,则只需输入空白凭据即可您应该输入您的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 ssh-rsa AAAAB3Nza…PC0GuTJT9TlaYD user@domain.com
    2. 更新你的.lfsconfig文件在存储库级别(不是全局级别)如下所示:
      ssh: / / USERNAME@主持人:美元美元港口/ artifactory / < repoKey >
      例如,

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

元数据

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

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


存储

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

Git LFS blob将存储在如下路径下< lfs_repo > /对象/广告/1 b/ ad1b8d6e1cafdf33e941a5de462ca7edfa8818a70c79feaf68e5ed53dec414c4

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


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

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

这将导致本地repo中的实际文件被LFS客户机创建的指针所替换有着相同的名字并导致这种行为可能引起的许多问题。

这是LFS客户端的一个限制发行89


快速入门指南

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


版权所有©2023 JFrog Ltd.