我知道您可以在相同工作流程的作业之间共享工件...
但是如何在不同的工作流程之间共享工件?
答案 0 :(得分:3)
可能尚不可行:
工作流程结束后,您可以通过在“操作”选项卡中找到运行的工作流程,在GitHub上下载已上传工件的存档。 GitHub当前不提供REST API来检索上传的工件。
如果需要从以前运行的工作流中访问工件,则需要将工件存储在某个地方。例如,您可以在工作流的末尾运行脚本,以将构建工件存储在Amazon S3或Artifactory上,然后使用存储服务的API在以后的工作流中检索这些工件。
答案 1 :(得分:2)
GitHub现在添加了REST API for downloading artifacts。基本上你会
GET repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}
然后,您必须在响应中寻找Location:
,然后访问该URL以下载工件。该网址有效期为1分钟。
有一个使用上述API的GitHub Action,您可以轻松地将其添加到工作流中。我这样使用它
- name: Download artifact
uses: dawidd6/action-download-artifact@v2
with:
workflow: ${{ github.event.workflow_run.workflow_id }}
workflow_conclusion: success