如何在 AWS CodeBuild 中使用 git lfs?

Dro*_*iss 3 amazon-web-services aws-codebuild

由于 AWS CodeBuild 似乎不支持 git LFS(大型文件系统),我尝试安装它:

version: 0.2

phases:
  install:
    commands:
      - apt-get install -y bash curl
      - curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
      - apt-get install -y git-lfs
  pre_build:
    commands:
      - echo Downloading LFS files
      - git lfs pull
  build:
    commands:
      - echo Build started on `date`
  post_build:
    commands:
      - echo Build completed on `date`
Run Code Online (Sandbox Code Playgroud)

对于上面的代码,我收到以下错误(重命名的存储库地址):

[Container] 2020/06/18 16:02:17 Running command git lfs pull
fatal: could not read Password for 'https://username@bitbucket.org': No such device or address
batch response: Git credentials for https://username@bitbucket.org/company/repo.git not found.
error: failed to fetch some objects from 'https://username@bitbucket.org/company/repo.git/info/lfs'

[Container] 2020/06/18 16:02:17 Command did not exit successfully git lfs pull exit status 2
[Container] 2020/06/18 16:02:17 Phase complete: PRE_BUILD State: FAILED
[Container] 2020/06/18 16:02:17 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: git lfs pull. Reason: exit status 2
Run Code Online (Sandbox Code Playgroud)

我可以做其他事情来获取 LFS 文件吗?

Ask*_*nnz 6

CodeBuild 不支持 Git LFS,但是可以即时安装它,然后git lfs pull从源目录运行以下载文件。像这样:

env:
  git-credential-helper: yes

phases:
  install:
    commands:
      - cd /tmp/
      - curl -OJL https://github.com/git-lfs/git-lfs/releases/download/v2.13.2/git-lfs-linux-amd64-v2.13.2.tar.gz
      - tar xzf git-lfs-linux-amd64-v2.13.2.tar.gz
      - ./install.sh
      - cd $CODEBUILD_SRC_DIR

  pre_build:
    commands:
      - git lfs pull

<rest of your buildspec.yml file>
Run Code Online (Sandbox Code Playgroud)