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



我正在使用fastlane screengrab/snapshot来截取我的Android和iOS应用程序的屏幕截图。当我在终端上本地运行它们时,它们运行良好,但是当我从 jenkins 运行它们时,它们失败了。我使用的是 macOS。
人造人:

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

(这2个在.sh
(

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

苹果:

fastlane snapshot

由于预配配置文件错误,尝试生成测试时失败:

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

(这是快车道快照自动执行的命令(

同样,它们都在终端上运行平稳(我在与垃圾相同的工作区中运行它们(

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

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

OP Son Nguyen证实了PATH问题:

设置 Jenkins 的开发人员为 Android SDK 设置了错误的路径,因此我能够通过修复路径来运行 Android 部分。

OP补充说:

fastlane/usr/local/bin 年安装,而 Jenkins 在 /User/myUser 年: 所以,不知何故,它们不能很好地协同工作。
我在/User/myUser重新安装了fastlane,它起作用了。

这让它对我有用。

我必须将其包含在脚本的顶部:

     #!/bin/zsh
     source ~/.zshrc

我的 .zshrc 有这个:

    export PATH="$PATH:"/usr/local/bin/
    export SSL_CERT_FILE=/etc/ssl/cert.pem # for openssl error
    export ANDROID_HOME=/Users/jenkins/Library/Android/sdk

相关内容

  • 没有找到相关文章

最新更新