You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PR合并触发GitHub Pages部署YAML脚本语法错误求助

解决GitHub Actions Workflow YAML语法错误(Invalid workflow file on line 13)

错误原因

报错的核心是YAML层级配置错误:你把if条件放在了jobs节点下,和build作业同级,但GitHub Actions中if是单个作业的专属配置项,必须嵌套在对应作业的内部,不能作为jobs的直接子节点。

修正后的完整Workflow代码

name: Github Pages Deploy

on:
  push:
    branches:
      - 'master'
  pull_request:
    branches:
      - 'master'
    types: [closed]

jobs:
  build:
    if: github.event.pull_request.merged == true
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [15.x, 16.x]

    steps:
      - name: Checkout
        uses: actions/checkout@v4  # 建议升级到最新稳定版,v1已停止维护

      - name: Install and build
        run: npm install --save --legacy-peer-deps && npm run build

      - name: Deploy
        uses: JamesIves/github-pages-deploy-action@4.1.1
        with:
          branch: gh-pages # 部署目标分支
          folder: build # 要部署的产物目录

关键修改说明

  1. 把if: github.event.pull_request.merged == true移动到build作业内部,作为该作业的条件判断属性,确保只有当PR被合并时,才会执行后续的构建和部署任务。
  2. 额外优化:将actions/checkout@v1升级到v4,避免使用已停止维护的旧版本,提升兼容性和安全性。

可选逻辑调整

如果只需要在PR合并时触发部署,不需要监听master分支的直接推送,可以删除on节点下的push配置块。

内容的提问来源于stack exchange,提问作者Siddhesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 17:42:09