【发布时间】:2013-10-21 16:21:08
【问题描述】:
我已将脚本设置为在我的 Xcode 项目方案中作为后操作和前操作运行。 Ruby 中的 printf 和 puts 似乎不会打印到 Xcode 持续集成网站的“日志”选项卡上显示的日志中。如何打印到此日志文件?另外,有没有办法找出日志文件的位置?
请原谅我的幼稚:我对 OS X Server 的工作原理知之甚少。 Xcode CI Web 界面是我唯一可以看到日志文件的地方:
注意,这是来自https://devforums.apple.com/message/908997#908997的交叉帖子
【问题讨论】:
-
直接从 Xcode 运行时看到 Ruby printfs 和 puts 吗?
-
@DougRichardson 嗯,有点。我在执行前和执行后运行
exec > ~/pre_build_log.txt 2>&1以将 STDOUT 路由到文件。在 pre_build_log.txt 中,我看到了所有的 printfs 和 puts。顺便说一句,我几乎是一个 unix 新手。当我在 Xcode 机器人构建期间尝试路由 STDOUT 时,我确实在日志中看到说用户无权写入 ~/pre_build_log.txt。 -
啊! Xcode bot 以没有主目录的 _teamsserver 用户身份运行。也许这就是问题所在。尝试将 STDOUT 路由到 /tmp 中的文件。
-
好主意,感谢迄今为止的帮助!不幸的是,这是我在尝试将 STDOUT 路由到
/tmp时看到的:/var/folders/zz/zyxvpxvq6csfxvn_n00000br00002y/T/SchemeScriptAction-BsxhMO: line 3: /tmp/post_build_log.txt: Permission denied -
尝试写入由 TMPDIR 变量指定的 tmp 目录,而不是直接写入 /tmp。我相信这是每个用户的 tmp 目录(虽然我很惊讶另一个也不能写入 /tmp)。
标签: xcode continuous-integration xcode5 osx-server