GitHub Actions的download-artifact会创建一个归档文件还是文件夹结构?

5
我正在使用GitHub Actions,有两个作业,一个上传文件夹,另一个使用该文件夹创建图像。
作业1:
- name: Upload Build
  uses: actions/upload-artifact@v1
    with:
      name: StandaloneLinux64
      path: build/StandaloneLinux64

工作 2:

- uses: actions/download-artifact@v1
  with:
    name: StandaloneLinux64
    path: Docker/StandaloneLinux64

这将添加一个档案文件(zip/tar/tar.gz),还是重新创建文件夹结构? 我看过文档,但没有找到明确说明的地方。

1
为什么不试试呢?如果文档没有说明会存档,那它可能不会被存档。 - DannyB
@DannyB,使用fork和secrets会使工作流程变得更加复杂。此外,如果我没有得到答案,我可以测试它并为其他人回答。 - Redline
2个回答

7
我进行了测试,如果您使用GitHub Actions上传一个文件夹并再次下载它,则会重新创建与给定路径为基础的上传时原始结构。但是,正如文档所述,在此期间它不会重新创建父文件夹。您可以在此处查看文档: GitHub Actions: Changes to artifact download experience。另外,不像我担心的那样,它不会将工件作为存档文件下载。

1
为了保持与v1相同的行为,path设置为目标文件夹的名称 - undefined

2

您可以在文档这里中看到一个示例,其中显示download-artifact将归档文件解压回其原始目录结构。

这是示例工作流的相关部分,在此部分中,它下载homework工件,并且math-homework.txt已经解压并可在下一步中访问:

    steps:
      - name: Download math result for job 1
        uses: actions/download-artifact@v1
        with:
          name: homework
      - shell: bash
        run: |
          value=`cat homework/math-homework.txt`
          expr $value \* 9 > homework/math-homework.txt

在这个例子中,他们上传了一个文件 math-homework.txt 而不是一个文件夹。这也是我的问题,如果上传或下载的是一个文件夹而不是一个文件会发生什么。但是我通过测试找到了答案。 - Redline

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接