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

GitHub Actions按需自托管AWS EC2 runner缺少mode参数报错配置咨询

问题原因

你使用的machulav/ec2-github-runner@v2版本要求必须显式声明mode参数,用来指定对EC2实例的操作类型,未声明就会触发你遇到的报错。

配置方法

mode参数可选值如下:

  • mode: start:启动指定的EC2实例,并将其注册为当前仓库的GitHub Actions自托管runner
  • mode: stop:注销当前实例对应的runner,并停止EC2实例
  • mode: restart:先执行停止逻辑,再执行启动逻辑

如果你需要实现「工作流启动时拉起EC2、任务执行完成后关闭EC2」的逻辑,需要将action拆分为两个步骤分别声明不同的mode,参考完整配置如下:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      # 第一步:启动EC2实例并注册runner
      - name: Start EC2 runner
        uses: machulav/ec2-github-runner@v2
        with:
          mode: start
          github-token: ${{ secrets.GH_TOKEN }}
          ec2-instance-id: i-03d221ab975187b
          # 已经指定现有实例ID的情况下不需要填写ec2-instance-type,可删除该参数

      # 第二步:在EC2 runner上执行你的业务任务
      - name: Run build task
        uses: actions/checkout@v4
        with:
          fetch-depth: 1
        # 这里指定runs-on为你注册的runner标签,默认是self-hosted,也可以自定义标签
        runs-on: self-hosted

      # 第三步:任务结束后停止EC2实例,配置always确保即使前面任务失败也会执行停止操作
      - name: Stop EC2 runner
        uses: machulav/ec2-github-runner@v2
        if: always()
        with:
          mode: stop
          github-token: ${{ secrets.GH_TOKEN }}
          ec2-instance-id: i-03d221ab975187b

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:00:00