如何上传页面构建文件而不覆盖之前的数据

43次阅读
没有评论

问题描述

想要创建一个GitHub工作流程,用于将多个静态网站部署到GH Pages。这些网站将位于它们自己的子文件夹中,位于(网站)根目录下,并且需要独立部署。

为了实现这个目标,用户需要将新的网站构建文件上传到其子文件夹中,而不更改该文件夹的其他文件。用户正在使用actions/upload-pages-artifact@v1.0.7,但尚未找到实现这一目标的方法。github-pages环境总是首先被清除,只有最后上传的内容保留下来。

用户想知道是否有一种方法可以通过工作流程进行“部分写入”,将文件上传到github-pages环境中,或者是否可以下载当前环境数据,将文件追加到其中,然后再上传整个文件夹?或者用户是否应该退而求其次,让工作流程在一个分支中管理文件?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

如果您使用GitHub地址作为页面的地址,它会自动为附加的存储库创建子文件夹。您只能选择一个存储库作为根目录。

例如:
– 存储库:website <username>.github.io
– 存储库:blog <username>.github.io/blog
– 存储库:projects <username>.github.io/projects

以此类推。

自定义域名

如果您想使用自定义域名,您需要通过“前端门户”请求来映射每个子文件夹,因为我认为无法在自定义域名上使用上述设置。

或者,您可以将文件推送到静态站点托管位置/文件存储(例如Azure Static Site,Amazon S3等)。每次推送都会覆盖文件,但您可能需要处理删除操作的策略,因为您不会在每次发布时清除所有内容。

以上是两种解决方案,您可以根据自己的需求选择适合您的方法。

正文完