【问题标题】:Sending autotest / guard desktop notifications from Vagrant Ubuntu VM to host (W7 and OS X)从 Vagrant Ubuntu VM 向主机发送自动测试/保护桌面通知(W7 和 OS X)
【发布时间】:2012-09-28 23:27:09
【问题描述】:

我有一个问题要问你们所有的 Vagrant 和 TDD'ers,

如何让 Vagrant Ubuntu VM 向 Windows 7 或 OS X 主机发送自动测试/保护通知?

详情:

我正在尝试构建我的终极公路战士开发环境,这样我就可以在计算机、操作系统和国家之间切换,而不必一直担心重新配置我的环境。我正在使用 Vagrant 制作反映我们生产环境的一次性虚拟机,让我轻松地从我的工作计算机 (Windows 7) 跳转到我的家用计算机 (OS X)。

我正在尝试将我的 Vagrant Ubuntu VM 配置为与测试驱动开发 (TDD) 一起使用,并使用自动测试/保护实用程序在保存时自动运行我的测试,并将结果显示为主机上的桌面通知。我在无头模式下运行 Vagrant VM,因此没有桌面来接收通知,所以我需要将它们转发到主机。

我有几个线索,比如使用Growl's remote notifications(用于接收,但我不知道如何从 Ubuntu VM 发送它们)或hacking Growl,但我认为这个问题一定已经解决了由其他人在那里。

【问题讨论】:

  • hmmm... 看起来我可以使用ruby_gntp 将 Growl 的 GNTP 格式发送到 Vagrant VM 上的端口,将端口转发到主机操作系统,然后使用 Growl 或 Growl Windows 侦听该端口。也许?
  • 我以为我是第一个有这个好主意的人。 ;) 你做到了吗?某处的博客帖子?

标签: tdd vagrant guard autotest growl


【解决方案1】:

找到了一种让它在 Windows 8 主机和 Ubuntu vagrant box 上运行的方法:

在 rails 中安装 gem ruby_gntp

添加到Guardfile:

`notification :gntp, :sticky => false, :host => '192.168.0.77', :port => '23053', :password => 'yourpassword'`

192.168.0.77是宿主机的IP,可以通过ipconfig找到。

23053 - 咆哮的标准端口。

安装growlforwindows并将网络订阅设置为Vagrant box(help) 主机10.0.2.2,端口23053,密码yourpassword

10.0.2.2 - vagrant box gataway的默认IP,你可以通过在vagrant ssh中运行netstat -rn来确认。

最后你可以运行guard -p 并开始测试了。

如果您收到错误'refused',则说明 Guardfile 中的 IP 错误,例如,如果我设置了 windows 机器的网关 IP 而不是本地 IP,就会发生这种情况。 如果你得到错误'Notiffany register filed',那么它在growlforwindows中的ip是错误的。

【讨论】:

    【解决方案2】:

    那么,为什么不直接将所有测试的输出转发到一个文件,然后通过 SSH 连接并查看结果呢? 基本上tail -f 命令在这里派上用场。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多