如何为不同Flutter版本创建多个GitLab Runner?
实现Flutter 3.7专属Shell Runner的步骤
因为你用的是Shell执行器,核心思路是在同一台Runner机器上安装多版本Flutter,再注册一个带专属标签的新Runner,让指定项目调用这个版本。
1. 在Runner机器上安装Flutter 3.7 SDK
- 下载Flutter 3.7.x稳定版的SDK包,解压到单独目录,比如
~/flutter_3.7 - 验证安装:进入该目录执行
./bin/flutter --version,确认输出显示3.7.x版本
2. 注册新的专属Runner
在Runner机器上执行注册命令:
gitlab-runner register
按照提示完成配置:
- 输入GitLab实例URL、目标项目的Runner注册令牌(从项目「设置→CI/CD→Runner」页面获取)
- 给Runner设置描述,比如
Flutter 3.7 Shell Runner - 设置标签为
flutter_3.7(和现有flutter标签区分开) - 选择执行器为
shell - 注册完成后启动Runner:
gitlab-runner start
3. 修改目标项目的.gitlab-ci.yml
把需要用Flutter 3.7的Job标签改为flutter_3.7,并在脚本中指定Flutter 3.7的路径,示例:
flutter_test_37: stage: test before_script: - export PATH="$HOME/flutter_3.7/bin:$PATH" # 优先调用3.7版本 - flutter --version # 可选,验证版本正确性 - flutter packages get - flutter clean script: - flutter test tags: - flutter_3.7 only: - main
其他Build/Deploy类Job同理,替换标签并添加PATH配置即可。
注意事项
- 必须通过PATH指定Flutter 3.7的优先级,避免默认调用机器上已有的3.10版本
- 专属Runner注册时要使用目标项目的令牌,确保只绑定到需要用Flutter 3.7的项目
内容的提问来源于stack exchange,提问作者Balaji
相关产品推荐
相关产品推荐

