我正在使用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