如何配置ReadTheDocs仅在Github develop分支的docs/目录更新时触发构建?
实现仅当docs/目录变更时触发ReadTheDocs构建
完全可以实现,有两种常用方案:
方案一:通过GitHub Webhook路径过滤(推荐)
直接在GitHub的Webhook设置里限定触发条件,只在develop分支的docs/目录有变更时发送触发请求:
- 打开GitHub仓库的「Settings」→「Webhooks」,找到绑定ReadTheDocs的那条Webhook,点击「Edit」。
- 在「Which events would you like to trigger this webhook?」区域,选择「Let me select individual events」,只勾选「Push」选项。
- 滚动到页面底部,在「Filter by branch」输入框填写
develop,限定仅该分支的推送触发检查。 - 在「Filter by path」输入框填写
docs/**,表示仅当推送的提交包含docs/目录下的文件变更时,才会触发Webhook通知ReadTheDocs构建。
方案二:在ReadTheDocs侧添加前置检查脚本
如果需要更灵活的控制,可以在ReadTheDocs的构建流程里加入前置检查,判断提交是否涉及docs/目录,无变更则终止构建:
- 进入ReadTheDocs项目的「Settings」→「Advanced Settings」。
- 在「Pre-build command」输入框中添加以下脚本:
CHANGED_FILES=$(git diff --name-only HEAD^ HEAD) if ! echo "$CHANGED_FILES" | grep -q "^docs/"; then echo "No changes in docs/ directory, aborting build." exit 1 fi
这个脚本会获取本次提交的变更文件列表,若未检测到docs/目录下的变更,就直接退出构建流程。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

