1

我有一个简单的github 存储库,用于托管我的简历内容。我使用 hackmyresume 生成 index.html。我正在使用 Github Actions 运行 npm 构建,它应该将生成的内容发布到 gh-pages 分支。

我的工作流程文件有

on:
push:
    branches:
    - master

jobs:
build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Deploy with github-pages
    uses: JamesIves/github-pages-deploy-action@master
    env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        BASE_BRANCH: master # The branch the action should deploy from.
        BRANCH: gh-pages # The branch the action should deploy to.
        FOLDER: target # The folder the action should deploy.
        BUILD_SCRIPT: npm install && npm run-script build

构建命令是

"build": "hackmyresume BUILD ./src/main/resources/json/fresh/resume.json target/index.html -t compact",

我可以看到生成的 html 文件被提交到 github 分支

https://github.com/emeraldjava/emeraldjava/blob/gh-pages/index.html

但是 gh-page 没有选择这个?当我点击时出现 404 错误

https://emeraldjava.github.io/emeraldjava/

我相信我的回购设置和秘密是正确的,但我必须遗漏一些小东西。任何帮助,将不胜感激。

4

1 回答 1

3

这是因为您使用了GITHUB_TOKEN变量。由于内置令牌不会触发 GitHub Pages 部署作业,因此GitHub存在一个未解决的问题。这意味着您将看到文件正确提交,但它们不可见。

要解决这个问题,您可以使用 GitHub 访问令牌。您可以在此处了解如何生成一个。它需要正确限定范围,以便它有权推送到公共存储库。您可以将此令牌存储在存储库的Settings > Secrets菜单中(将其命名为ACCESS_TOKEN),然后在您的配置中引用它,如下所示:

on:
push:
    branches:
    - master

jobs:
build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Deploy with github-pages
    uses: JamesIves/github-pages-deploy-action@master
    env:
        ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
        BASE_BRANCH: master # The branch the action should deploy from.
        BRANCH: gh-pages # The branch the action should deploy to.
        FOLDER: target # The folder the action should deploy.
        BUILD_SCRIPT: npm install && npm run-script build

您可以在此处找到这些变量的概要。使用访问令牌将允许 GitHub Pages 作业在进行新部署时触发。我希望这会有所帮助!

于 2019-11-11T17:26:29.500 回答