问题描述
想要创建一个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等)。每次推送都会覆盖文件,但您可能需要处理删除操作的策略,因为您不会在每次发布时清除所有内容。
以上是两种解决方案,您可以根据自己的需求选择适合您的方法。