上传/下载工件文档意味着应该能够构建到dist
文件夹中。我对此的解释是,我们可以引用这些内容,例如,一个静态网站,这样一个网站就可以在主推送时自动构建自己的github页面。然而,工件似乎只上传到一个特定的位置(即GET /repos/{owner}/{repo}/actions/artifacts
),并且只能以压缩格式下载,这违背了目的。
是否有一种方法来填充repo的dist
文件夹,使所构建的文件成为公开和永久可访问的repo的一部分,我可以引用它,而不必在其他地方部署它,如S3等?
例子下面是一个用例:
- 我有一个仪表板,从几个远程位置解析一些数据,并显示在图表中。这个页面是从
/docs
部署的,因为它是Github Pages托管的页面。 - 网页只读取
/docs/cache/dump.json
的静态缓存数据。 dump.json
文件是通过一个预定的Github动作生成的,该动作调用一个脚本去数据源并生成转储。
这就是为什么web页面可以快速运行,而不会由于冗长的数据处理而导致页面锁定,而转储生成发生在后台。web页面定期重新读取/docs/cache/dump.json
文件以获取新数据,在每个预定的触发器上应该覆盖旧数据。
这个想法是让操作运行并定期替换dump.json
文件,但我所能做的就是生成一个工件,然后我必须手动获取并解压缩。理想情况下,它只会替换当前的dump.json
文件。
要持久保存构建过程所做的更改,有必要在任何更改之后添加并提交它们到repo。有几个操作可以做到这一点,比如下面这个。
那么您将添加以下内容到工作流:
- name: Commit changes
uses: EndBug/add-and-commit@v7
with:
author_name: Commitobot
author_email: my@mail.com
message: "Updating build result!"
add: "docs/cache/dump.json"