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

如何按分支匹配不同GitHub self-hosted runner实现dev、prod环境独立部署

解决方法

你当前配置只指定了runs-on: self-hosted,GitHub会将任务调度到任意带有self-hosted标签的在线runner,因此会出现固定触发首个runner的问题。你只需要通过自定义标签做定向匹配即可,操作步骤如下:

  1. 给自托管runner添加环境专属标签
    进入仓库的「Settings」-「Actions」-「Runners」页面,分别点击生产环境、开发环境对应的runner,在标签编辑区域新增自定义标签:
  • 生产环境runner新增标签 prod
  • 开发环境runner新增标签 dev
  1. 修改工作流配置的runs-on字段
    runs-on支持传入数组,要求调度的runner必须同时匹配数组内所有标签,即可实现定向调度:
    生产环境(master分支对应的yml)修改后的配置如下:
name: SSR-Prod

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  build:
    runs-on: [self-hosted, prod]

    steps:
      - uses: actions/checkout@v2
      - name: Restore dependencies
        run: npm install
      - name: Build and publish
        run: npm run build:ssr

开发环境(dev分支对应的yml)配置参考:

name: SSR-Dev

on:
  push:
    branches: [dev]
  pull_request:
    branches: [dev]

jobs:
  build:
    runs-on: [self-hosted, dev]

    steps:
      # 填写你的开发环境构建步骤

注意:GitHub Actions的标签匹配为大小写敏感,配置时请保证标签名拼写和你给runner设置的完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:15:05