命令在詹金斯上失败,但在终端上有效
command fails on jenkins, but works on terminal
我正在努力使用 fastlane screengrab/snapshot 来截取我的 android 和 ios 应用程序的屏幕截图。当我在终端本地 运行 它们时,它们工作得很好,但是当我从 jenkins 运行 它们时,它们失败了。我正在使用 macOS。
Android:
/Users/shared/Library/Android/sdk/tools/emulator -avd Pixel_API_22 &
fastlane screengrab
(这2个在一个.sh里)
The first line failed: PANIC: Cannot find AVD system path. Please
define ANDROID_SDK_ROOT
iOS:
fastlane snapshot
由于配置文件错误,尝试构建测试时失败:
xcodebuild -showBuildSettings -scheme UITests -project ./abc.xcodeproj
(这是fastlane快照自动执行的命令)
同样,他们都 运行 在终端上顺利(我 运行 他们和 junkins 在同一个工作区)
Double-check 在 Jenkins 中执行您的作业后的环境设置:您可能会看到与您在 command-line(正在工作的地方)中的用户帐户相同的环境设置有所不同
用户名可能不同(如果您的 Jenkins server/agent 使用另一个帐户运行)。
OP Son Nguyen 确认 PATH 问题:
the developer who set up jenkins put a wrong path to android sdk, so I was able to run the android part by fixing the path.
并且 OP 添加:
fastlane
was installed in /usr/local/bin
while jenkins was in /User/myUser
: So, somehow they didn't work well together.
I reinstalled fastlane
in /User/myUser
and it worked.
这对我有用。
我必须在我的脚本的顶部包含这个:
#!/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
我正在努力使用 fastlane screengrab/snapshot 来截取我的 android 和 ios 应用程序的屏幕截图。当我在终端本地 运行 它们时,它们工作得很好,但是当我从 jenkins 运行 它们时,它们失败了。我正在使用 macOS。
Android:
/Users/shared/Library/Android/sdk/tools/emulator -avd Pixel_API_22 &
fastlane screengrab
(这2个在一个.sh里)
The first line failed: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
iOS:
fastlane snapshot
由于配置文件错误,尝试构建测试时失败:
xcodebuild -showBuildSettings -scheme UITests -project ./abc.xcodeproj
(这是fastlane快照自动执行的命令)
同样,他们都 运行 在终端上顺利(我 运行 他们和 junkins 在同一个工作区)
Double-check 在 Jenkins 中执行您的作业后的环境设置:您可能会看到与您在 command-line(正在工作的地方)中的用户帐户相同的环境设置有所不同
用户名可能不同(如果您的 Jenkins server/agent 使用另一个帐户运行)。
OP Son Nguyen 确认 PATH 问题:
the developer who set up jenkins put a wrong path to android sdk, so I was able to run the android part by fixing the path.
并且 OP 添加:
fastlane
was installed in/usr/local/bin
while jenkins was in/User/myUser
: So, somehow they didn't work well together.
I reinstalledfastlane
in/User/myUser
and it worked.
这对我有用。
我必须在我的脚本的顶部包含这个:
#!/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