我是Jenkins的新手,我正在尝试为macOS Server / iOS环境设置CI管道。我的环境与Xcode服务器集成,我想做的事情之一就是运行一个命令行应用程序,该应用程序与Xcode服务器API对话并处理最后一组集成。我的命令行应用程序在终端中调用时可以正常工作,但我希望Jenkins能够将其作为构建步骤之一进行调用。
我的执行shell构建步骤如下所示:
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
security unlock-keychain -p ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH}
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH}
xcrun xcodebuild clean build CODE_SIGN_IDENTITY="${CODE_SIGNING_IDENTITY}" PROVISIONING_PROFILE=${PROVISIONING_PROFILE} OTHER_CODE_SIGN_FLAGS="--keychain ${KEYCHAIN_PATH}"
sh /usr/local/bin/my-command-line-app
构建成功但在尝试调用命令行应用程序时失败。
我从jenkins控制台得到的错误是:
cannot execute binary file
Build step 'Execute shell' marked build as failure
Finished: FAILURE
现在我已将此可执行文件放在两个失败的位置。
1. sh /usr/local/bin/my-command-line-app
2. sh /Users/Shared/Jenkins/Home/workspace/my-command-line-app
我还尝试chmod +x to the my-command-line-app
尝试更改权限,但这仍会导致相同的错误。
如果有人对如何配置这个有任何提示,我将不胜感激。