自托管GitHub Runner配置prj1标签后无法触发工作流该如何解决?
解决方案
你前两次配置失败的原因如下:
- 第一次修改给
push事件加types: [prj1]属于无效配置:push事件的合法活动类型仅包括created、deleted等系统预设值,不支持自定义标签类型,配置不符合规则会直接跳过触发。 - 第二次修改添加的
if: ${{ github.event.label.name == 'prj1' }}规则不生效:github.event.label字段仅在议题、拉取请求的标签相关事件中存在,push事件没有对应字段,条件永远为假,作业会直接被跳过。
自托管Runner的标签匹配逻辑直接在runs-on字段中声明即可,你需要同时指定self-hosted(匹配所有自托管Runner)和自定义标签prj1,只有同时携带这两个标签的Runner才会执行当前作业,正确配置如下:
name: Environment on: push: branches: - master jobs: p1: runs-on: [self-hosted, prj1] steps: - run: echo "The job was automatically triggered by a ${{ github.event_name }} event." >> deploy-log.txt
如果你后续有多个不同标签的自托管Runner,只需要在runs-on数组里添加对应的自定义标签,就能实现作业和Runner的精准匹配。
内容的提问来源于stack exchange,提问作者learningtech
相关产品推荐
相关产品推荐

