查看VSTF构建中的git-lfs文件

时间:2015-12-04 07:53:19

标签: git tfsbuild azure-devops git-lfs

我在VSTS上托管了一个存储库,包含了一个通过git-lfs存储的文件。如果我只是让VSTS构建checkout存储库,它只需下载包含文件ID的git-lfs元数据文件。

以下是VSTS如何获取其来源的输出:

Syncing repository: MyRepo (Git)
Checking out c84ef2f2bbad4fa3dc70dbd4100534390b9c8f18 to d:\work\73\s
Checked out branch refs/heads/develop for repository MyRepo at commit c84ef2f2bbad4fa3dc70dbd4100534390b9c8f18

检查真实文件需要做什么?

编辑:我认为我需要在VSTS签出源后手动调用git lfs fetch。但是在这种情况下如何处理身份验证(VSTS需要)?

4 个答案:

答案 0 :(得分:6)

此过程已再次更新(2017年3月)。这次你需要编辑"获取资源"构建定义的一部分。启用"高级设置"右上方的选项,并选中" LFS"的结帐文件。

enter image description here

答案 1 :(得分:3)

<强>更新

我确认流程已更改,请忽略以下答案。

我不得不说我发现:

在您的构建定义中,选择存储库标签,然后选中从LFS结帐文件

选项

它可以更容易。

答案 2 :(得分:2)

对于TFS Build 2015 Update 4(这个东西的自托管风格,而不是VSTS,云服务),“LFS的Checkout文件”选项不存在,因此,我们必须这样做:

  • 在选项标签上查看Allow Scripts to Access OAuth Token
  • 将此批处理文件提交到存储库中的某个位置:

    REM This script is intended to fetch large (LFS) files during the TFS Build process.
    
    REM Solution derived from https://github.com/Microsoft/vsts-agent/issues/1134
    
    git config --unset-all http.extraheader
    git config --add http.extraheader "AUTHORIZATION: bearer %SYSTEM_ACCESSTOKEN%"
    git lfs fetch
    git lfs checkout
    git config --unset http.extraheader        
    
  • 添加Batch Script的构建步骤,然后运行上述脚本。

答案 3 :(得分:0)

VSTS现在有一个Allow Scripts to Access OAuth Token选项。通过在构建定义上设置此选项,OAuth可用于构建脚本。

我创建了一个extension包含构建任务,这些任务会更改远程Url以使用OAuth令牌访问远程存储库。