GitLab Pages静态页面发布遇报错:流水线无阶段/作业
解决GitLab CI提示“No stages / jobs for this pipeline”的问题
你的.gitlab-ci.yml验证通过但触发不了流水线,核心原因大概率是分支匹配规则不匹配,结合场景给出以下排查和修复方案:
1. 确认仓库默认分支名称
现在GitLab新建仓库的默认分支通常是main而非master,而你的配置里指定了only: - master,如果当前默认分支是main,模拟流水线时就不会触发pages job。
修复方法:
- 查看仓库的默认分支(仓库设置→仓库→默认分支),将配置里的
only列表改为对应分支名:pages: stage: deploy script: - mkdir .public - cp -r * .public - mv .public public artifacts: paths: - public only: - main # 替换为你的实际默认分支名 - 或者用GitLab内置变量
$CI_DEFAULT_BRANCH自动匹配默认分支,无需硬编码:pages: stage: deploy script: - mkdir .public - cp -r * .public - mv .public public artifacts: paths: - public only: - $CI_DEFAULT_BRANCH
2. 模拟流水线时选择正确分支
如果你的默认分支确实是master,但模拟流水线时选错了分支(比如选了其他测试分支),也会出现该提示。此时只需在模拟流水线的界面,选择master分支再尝试即可。
3. 检查stage定义(可选)
GitLab默认包含build、test、deploy三个阶段,你的配置指定了stage: deploy,无需额外定义stages列表。如果之前自定义过stages且未包含deploy,才会导致job不执行,但你的情况里验证通过,这个概率较低。
内容的提问来源于stack exchange,提问作者efotopoulou
相关产品推荐
相关产品推荐

