使用publish.yml在GitHub发布HTML站点时遇错误求助
解决GitHub Actions发布HTML文档的问题
1. 先搞定本地修改未同步的问题
确保工作流配置了触发规则,让代码推送到指定分支时自动运行发布流程:
on: push: branches: [ main ] # 换成你仓库的默认分支名,比如master workflow_dispatch: # 留着方便手动触发调试
2. 解决Jupyter未安装+requirements.txt报错问题
直接在工作流里手动安装Jupyter,跳过依赖文件检查,完整的publish.yml配置如下:
name: Publish HTML to GitHub Pages on: push: branches: [ main ] workflow_dispatch: jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: 拉取仓库代码 uses: actions/checkout@v4 - name: 配置Python环境 uses: actions/setup-python@v5 with: python-version: '3.11' # 选你需要的Python版本,可按需调整 # 注释掉这两行,避免触发requirements.txt检查 # cache: 'pip' # cache-dependency-path: requirements.txt - name: 直接安装Jupyter run: | python -m pip install --upgrade pip pip install jupyter # 手动指定安装,不用依赖文件 # 这里加你生成HTML的步骤,比如从Jupyter Notebook转HTML的话: - name: 从Notebook生成HTML run: | jupyter nbconvert --to html your-notebook.ipynb # 替换成你的Notebook文件名 - name: 部署到GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./ # 换成你的HTML文件所在目录,比如生成在docs文件夹就写./docs
关键修改说明
- 删掉
actions/setup-python里的cache和cache-dependency-path:这两个参数会默认检查requirements.txt,注释后就不会触发这个检查了。 - 用
pip install jupyter直接装依赖:不需要依赖文件,手动指定要装的包就行。 - 触发规则要准确:保证本地代码推送到目标分支后,工作流自动跑,同步更新GitHub Pages。
额外排查点
- 检查GitHub Pages设置:仓库Settings -> Pages里,确认部署分支(一般是gh-pages)和目录选对了。
- 如果是直接发布静态HTML,不需要Jupyter的话,可简化工作流:
name: 发布静态HTML on: push: branches: [ main ] workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest steps: - name: 拉取代码 uses: actions/checkout@v4 - name: 部署到GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./html-files # 换成你的HTML文件所在目录
内容的提问来源于stack exchange,提问作者Anne Bernard
相关产品推荐
相关产品推荐

