2

我遇到了一个问题,即 Xcode 服务器上的机器人在尝试运行我的项目的 shell 脚本时失败: Shell Script Invocation Error: Command /bin/sh failed with exit code 252

我怎样才能解决这个问题?我应该阻止 Xcode 服务器运行 shell 脚本吗?如果是这样 - 我该怎么做?

4

2 回答 2

0

我不认为 Xcode 服务器无法运行脚本。

该错误对我来说意味着 Xcode 服务器正在运行脚本,并且在 shell 中运行的最后一个命令失败,退出代码为 252,并且 shell 正在将该退出代码传递给 Xcode 服务器。所以你需要弄清楚在 Xcode Server 上运行时,shell 脚本中的哪些命令是不愉快的。

将调试日志记录添加到 shell。几乎所有的 shell 命令都应该写成:

if rm -rf ${somedir:?}; then
    echo "Deleting $somedir OK."
else
    echo "Error deleting $somedir."
fi

而不仅仅是:

rm -rf ${somedir:?}
cd ..
# And so on.

然后,您可以查看 Xcode Server Bot 日志中的 shell 脚本输出,并更好地提示问题所在。

于 2015-07-15T15:26:02.960 回答
0

试用

  • 单独运行你的脚本
  • 检查权限

    附加信息:

  • xcodeserver 在用户 _xcsbuildd 的上下文中运行,如果您使用普通用户的相对路径运行脚本,则可能会出现问题

  • 于 2015-07-31T03:58:01.920 回答