此操作已被弃用。现在,使用 GitHub 的官方 GitHub 操作“本机”支持发布到 GitHub Pages。它比这种方法要好得多。
此操作仅允许您将静态内容的任意文件夹从工作流程的工作目录 ( /github/workspace
) 部署到 GitHub 页面。这是通过让您的操作实例git push
您选择的资产文件夹 ( BUILD_DIR
) 推送到 GitHub 存储库的gh-pages
分支来提供服务的gh-pages
分支来实现的。如果您在组织或用户存储库(名为username/username.github.io
)内运行此操作,它将部署到master
分支。
请记住,您可能还需要调整存储库设置。
由于此操作部署到单独的“仅部署”分支,因此如果您想从 repo 子目录(例如docs/
进行部署,则无法使用它。在这些情况下,您确实不需要 GitHub Action,因为您将自己提交构建工件。有关详细信息,请参阅 GitHub Pages 文档。
已经有很棒的 GitHub 操作可以使用静态站点生成器,然后部署到 GitHub Pages(对于 jekyll、jekyll、zola 以及肯定会出现的更多)。尽管我从这些作品中借用了很多 git 操作,但此操作并非如此。
此操作不会构建任何东西,它只是部署。
没有任何。
没有任何。
通过git push
到gh-pages
(或master
)分支来部署到 GitHub 页面。要授权此操作,GitHub 操作需要一个秘密。目前,有点令人困惑的是,每个存储库可用的GITHUB_TOKEN
足以推送到gh-pages
,但不足以触发 GitHub 上的页面构建,甚至不足以将内容传播到 GitHub 内容交付网络。
因此,您必须创建自定义个人访问令牌 (PAT),就像您为外部服务(例如 Travis)所做的那样。必须使用repo
权限创建此令牌才能部署到 Github Pages。然后,您必须将此令牌作为秘密粘贴到 GitHub UI 中,名称为GH_PAT
(存储库设置/秘密),并在操作中调用它,如下所示。
我已要求 GitHub 简化此流程。讨论记录在此处。
只是BUILD_DIR
,相对于存储库根目录的构建目录。也可以通过.
如果你想推送你的存储库根目录。
name : Deployment
" on " :
- push
- pull_request
jobs :
deploy_ghpages :
runs-on : ubuntu-18.04
steps :
- uses : actions/checkout@v1
- run : echo $GITHUB_SHA >> public/index.html
- uses : maxheld83/[email protected]
env :
BUILD_DIR : public/
GH_PAT : ${{ secrets.GH_PAT }}