【问题标题】:How to use the log file in Server with Xcode 5 continuous integration (CI, bots)如何在服务器中使用日志文件与 Xcode 5 持续集成(CI、机器人)
【发布时间】:2013-10-21 16:21:08
【问题描述】:

我已将脚本设置为在我的 Xcode 项目方案中作为后操作和前操作运行。 Ruby 中的 printfputs 似乎不会打印到 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


【解决方案1】:

是的,写入 /tmp 对我有用,这是我的一个脚本的摘录:

exec > /tmp/testflight.log 2>&1
echo "uploading to testflight"

在运行 xcode bot 的服务器上,您的文件应按指定位于 /tmp 中。我没有收到权限错误,所以也许这对你有用。

【讨论】:

    猜你喜欢
    • 2013-11-04
    • 2014-04-10
    • 2010-12-06
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 2014-05-03
    相关资源
    最近更新 更多