Rerun 使用教程

Rerun 使用教程

rerun Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X. rerun 项目地址: https://gitcode.com/gh_mirrors/rer/rerun

1. 项目介绍

Rerun 是一个监控文件系统变化的命令行工具,当监控的文件发生变化时,它会自动重启程序。Rerun 适用于长时间运行的应用程序和短时间运行的测试。它是一个无需配置文件的简单命令行工具,可以替代 Guard、Shotgun、Autotest 等,适用于任何命令,而不仅仅是 Ruby 程序。

Rerun 的优势在于其简单的设计。它使用 Unix 的 exec 和标准的 SIGINTSIGKILL 信号,确保重启的应用程序与从命令行首次运行时行为一致。

2. 项目快速启动

首先,确保你已经安装了 Ruby。然后,通过以下命令安装 Rerun:

gem install rerun

启动 Rerun 来监控文件变化并重启程序,使用以下命令:

rerun [options] [--] cmd

例如,如果你想运行一个名为 app.rb 的 Sinatra 应用程序:

rerun ruby app.rb

或者更简单:

rerun app.rb

如果你想要监控特定的目录和文件模式,可以使用 --dir--pattern 选项:

rerun --dir app,web --pattern "*.rb" rails s

这将监控 appweb 目录下的所有 Ruby 文件,并在文件变化时重启 Rails 服务器。

3. 应用案例和最佳实践

案例一:自动化测试

使用 Rerun 运行自动化测试,当测试文件变化时自动重新运行测试:

rerun -x rake

或者如果你使用的是 RSpec:

rerun -cx rspec

案例二:Spork 服务器

如果你在使用 Spork 与 Rails,当 Rails 环境文件变化时,你需要重启 Spork 服务器。可以在 Rakefile 中添加以下任务:

desc "run spork (via rerun)"
task :spork do
  sh "rerun --pattern '{Gemfile,Gemfile.lock,spec/spec_helper.rb,.rspec,spec/factories/**,config/environment.rb,config/environments/test.rb,config/initializers/*.rb,lib/**/*.rb}' -- spork"
end

然后使用以下命令启动 Spork 服务器:

rake spork

案例三:Erector Widgets

使用 Rerun 来在每次 Erector widget 变化后重新生成 HTML 文件:

rerun -x erector --to-html my_site.rb

4. 典型生态项目

Rerun 可以与其他开源项目配合使用,例如:

  • Foreman:如果你使用 Heroku Cedar,Rerun 现在与 Foreman 兼容。可以本地运行所有 Procfile 进程,并在必要时重启它们:

    rerun foreman start
    
  • Guard:如果你更喜欢使用 Guard,可以查看 guard-spork,它提供了类似 Rerun 的功能。

通过以上介绍,你可以开始使用 Rerun 来简化你的开发流程,并自动化文件监控和程序重启的任务。

rerun Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X. rerun 项目地址: https://gitcode.com/gh_mirrors/rer/rerun

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰北帅Bobbie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值