命令在jenkins上失败,但在终端上工作

时间:2018-03-07 23:16:31

标签: jenkins fastlane fastlane-snapshot

我正在使用fastlane screengrab / snapshot来截取我的android和ios应用程序的截图。当我在终端上本地运行它们时,它们工作得很好,但是当我从jenkins运行它们时,它们会失败。我正在使用macOS。
机器人:

/Users/shared/Library/Android/sdk/tools/emulator -avd Pixel_API_22 &
fastlane screengrab

(这2个在.sh中)

  

第一行失败:PANIC:找不到AVD系统路径。请   定义ANDROID_SDK_ROOT

的iOS:

fastlane snapshot

由于配置文件错误而尝试构建测试时失败:

xcodebuild -showBuildSettings -scheme UITests -project ./abc.xcodeproj

(这是一个快速执行fastlane快照的命令)

同样,他们都在终端上顺利运行(我在与junkins相同的工作区中运行它们)

1 个答案:

答案 0 :(得分:1)

在Jenkins中执行作业后仔细检查环境设置:您可能会看到与使用命令行中的用户帐户所看到的相同环境设置的差异(它在哪里工作)

用户名可能不同(如果您的Jenkins服务器/代理与其他帐户一起运行)。

OP Son Nguyen确认了PATH问题:

  设置jenkins的开发人员为android sdk添加了错误的路径,因此我能够通过修复路径来运行android部分。

OP补充道:

  fastlane安装了

/usr/local/bin,而jenkins位于/User/myUser:所以,不知怎的,他们并没有很好地协同工作。
  我在fastlane中重新安装了/User/myUser,但它确实有效。