问题描述
我的存储库中有一个 Dockerfile 和一个 tex 文件。我使用 Github Actions 构建一个图像(ubuntu 18.10,带有 PDFLaTeX 包)并运行一个容器,它获取 main.tex 并使用 PDFLaTeX 生成 main.pdf。到目前为止,一切似乎都正常,但问题是我无法将 pdf 从容器复制到存储库。我尝试使用 docker cp:
docker cp pdf-creator:/main.tex .
但它似乎不起作用,因为 pdf 没有出现在我的存储库中。你能想到其他方法来解决这个问题吗?
解决方法
docker cp
命令将文件复制到本地文件系统。在 GitHub 操作的上下文中,这只是用于运行代码的任何虚拟环境:它与您的存储库无关。
向存储库添加内容的唯一方法是git add
文件、git commit
更改和git push
对存储库的更改(这当然需要为您的操作提供将更改推送到您的存储库所需的凭据,可能使用 GitHub Secret)。
但是,与其将文件添加到您的存储库中,不如查看对 Artifacts 的支持?这让您可以保存作为工作流程一部分生成的文件,并使其可供下载。
工作流程步骤如下所示:
- name: Archive generated PDF file
uses: actions/upload-artifact@v2
with:
name: main.pdf
path: /main.pdf
有关详细信息,请参阅链接的文档。