配置
局部存储库
创建一个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存储库中的文件以以下格式保存。
[lfs] url = "https:///api/lfs/< lfs repo key>"例如:[lfs] url = "https://localhost:8080/artifactory/api/lfs/lfs-local"
你也可以在你的repo上为不同的远程设置不同的LFS端点(由Git LFS客户端支持),例如:
[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(即在代理之后)使用自签名证书时,您的配置可能还需要您添加以下内容:
[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客户机自动进行身份验证。
使用SSH身份验证
Artifactory支持通过SSH对Git LFS客户机进行身份验证。
要在使用Git LFS客户端时通过SSH认证自己,请执行以下步骤:
- 确保Artifactory为SSH正确配置,如SSH服务器配置.
- 在用户配置文件的SSH部分上传SSH公钥如配置用户认证.
- Git LFS客户端配置如下:
更新known_hosts文件与Artifactory服务器公钥。该文件位于
~ / . ssh / known_hosts
(下面还有一个系统范围的文件/etc/ssh/known_hosts
).这应该采用以下格式:[
]: < Artifactory服务器公共ssh密钥的内容>
例如,[myartifactory.company.com]:1339 ssh-rsa AAAAB3Nza…PC0GuTJT9TlaYD user@domain.com
更新你的
.lfsconfig
文件在存储库级别(不是全局级别)如下所示:ssh: / / USERNAME@主持人:美元美元港口/ artifactory / < repoKey >
例如,Url = "ssh://git@myartifactory.company.com:1339/artifactory/lfs-local"
元数据
由于Git LFS客户端只提供关于被上传的blob的有限数据(只有sha256校验和,或者OID
Artifactory不存储或处理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的快速入门指南.