在 gitlab 中运行管道时有时会出现错误“flutter: command not found”

问题描述 投票:0回答:2

我们有一台 MacBook,上面装有 Runner for gitlab CI。 有时,管道会失败并出现错误“flutter:找不到命令”。有时它可以正常工作并且所有单元和集成测试都通过。

这种行为的原因是什么?

gitlab-ci.yml 文件是:

before_script:
- flutter channel stable
- flutter upgrade
- flutter pub get

stages:
- test_unit
- test_integration

test_unit:
stage: test_unit
script:
  - flutter test
  - cd android
  - cp ~/builds/QKu8Lg6_/0/mobile/local.properties ~/builds/QKu8Lg6_/0/mobile/app/android
  - ./gradlew app:connectedAndroidTest
only:
  - merge_requests
except:
  - schedules
retry: 2


test_integration:
stage: test_integration
script:
  - flutter drive --target=test_driver/app/app.dart
  - flutter drive --target=test_driver/app/app.dart -d iPhone Xʀ
  - flutter drive --target=test_driver/skill/time/time.dart
  - flutter drive --target=test_driver/skill/time/time.dart -d iPhone Xʀ
only:
  - schedules
retry: 2
flutter gitlab-ci pipeline
2个回答
1
投票

我们解决了!

问题出在默认的 gitlab runner 中,它适用于所有 gitlab 项目。 因此,我们有 2 个运行程序:默认运行程序和 MacBook 的运行程序。 有时,gitlab 在未配置的默认运行器上运行我们的构建,但会失败。

我们从 gitlab 项目中删除了默认运行器,一切都按预期工作!


0
投票

在运行器机器上安装 flutter 并设置 shell executor 或在 CI 中使用 docker 镜像和 docker executor

© www.soinside.com 2019 - 2024. All rights reserved.