配置
局部存储库
创建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存储库文件。
[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 repo时将请求它的凭据—如果允许匿名访问,您可以只输入空白凭据,否则您应该输入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将AAAAB3Nza……PC0GuTJT9TlaYD user@domain.com
更新你的
.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校验和,或者OID
Artifactory不为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的快速启动指南.