我认为:
- github 提供 github 页面来在我的
master
分支上的文件夹或专用gh-pages
分支中托管文档,但这意味着提交构建工件 - 我还可以让
readthedocs
我通过 webhook 为我构建和托管文档,但这意味着在我尝试将与我的项目相关的所有内容整合到github-actions
我已经有一个适合我的文档构建过程(sphinx
用作构建器)并且我也可以在本地进行测试,所以我宁愿利用它。它设置了所有规则并html
在工件中删除了一些静态 - 它只是没有在任何地方提供服务。在我的项目的所有其他部署配置所在的工作流程中处理它比将它分散在不同的工具或 github 特定选项上感觉更好。
市场上是否已经存在允许我执行此类操作的操作?
name: CI
on: [push]
jobs:
... # do stuff like building my-project-v1.2.3.whl, testing, etc.
release_docs:
steps:
- uses: actions/sphinx-to-pages@v1 # I wish this existed
with:
dependencies:
- some-sphinx-extension
- dist/my-project*.whl
apidoc_args:
- "--no-toc"
- "--module-first"
- "-o docs/autodoc"
- "src/my-project"
build-args:
- "docs"
- "public" # the content of this folder will then be served at
# https://my_gh_name.github.io/my_project/
换句话说,我希望仍然可以控制构建的发生方式以及工件的丢弃位置,但不想处理与readthedocs
or的交互github-pages
。
###我尝试过的操作
❌ deploy-to-github-pages:在 npm 容器中运行文档构建 - 使其与 python 和 sphinx 一起使用会很不方便
❌ gh-pages-for-github-action:没有文档
❌ gh-pages-deploy:似乎针对像 jekyll 这样的主机环境而不是静态内容,并且使用 yml 语法的正确用法尚未记录 - 我尝试了一点,但无法让它工作
❌ github-pages-deploy:看起来不错,但尚未记录 yml 语法的正确用法
✅ github-pages:需要自定义PAT以触发重建(不方便)并上传损坏的 html(这很糟糕,但可能是我的错)
✅ deploy-action-for-github-pages:也可以,并且在日志中看起来更干净一些。虽然与上面的解决方案相同的限制,它需要一个 PAT 并且提供的 html 仍然被破坏。
在行动市场上搜索github+pages时的其他 11 个结果看起来都像是他们想要使用自己的构建器,遗憾的是,它从来没有碰巧是 sphinx。