我想将以下操作编写成一个命令:
换句话说,我想从中央存储库中获取最新的代码,并立即生成自上次拉出以来所发生变化的差异.
对于临时 Rails任务,我们有一些实现替代方案,其中主要似乎是:
script/runner some_useful_thing
Run Code Online (Sandbox Code Playgroud)
和:
rake some:other_useful_thing
Run Code Online (Sandbox Code Playgroud)
我更喜欢哪个选项?如果有一个明显的喜欢那么,如果有的话,我应该考虑使用另一个?如果从来没有,那么为什么你认为它仍然存在于没有弃用警告的框架中?
在新创建的Rails项目(由...生成rails someName)上,可以运行一些"默认"rake任务,例如:
rake testrake db:migrate问题是,这些任务在哪里被描述?默认情况下Rakefile没有所有这些任务.
此外,我检查了一些使用的项目,rspec我可以运行rake spec以运行所有测试.spec目标在哪里定义?
我想bash从一个执行一些命令Rakefile.
我在我的尝试中尝试了以下内容 Rakefile
task :hello do
%{echo "World!"}
end
Run Code Online (Sandbox Code Playgroud)
但在执行rake hello时没有输出?如何从Rakefile执行bash命令?
注意:这不是重复,因为它具体询问如何从Rakefile执行bash命令.
我正在使用rake来构建我的项目,我有一个类似于这样的build.bat文件:
@echo off
cls
rake
Run Code Online (Sandbox Code Playgroud)
当我双击build.bat时,dos窗口会弹出并显示所有进度,但在任务完成时自动关闭.有没有办法做Console.ReadLine,以便用户有机会看到日志?
谢谢.
更新:
我试过下面但是没有用.不知道为什么.
@echo off
cls
rake
pause
Run Code Online (Sandbox Code Playgroud) 1)宝石里面有耙子任务的"最佳"位置吗?我见过它们/tasks,/lib/tasks我看到它们写成了- *.rb并且*.rake不确定哪个(如果有的话)是'正确的'
2)在环境中配置gem后,如何将它们提供给应用程序?
在使用rake运行单元和功能测试时,在rails应用程序中,我注意到在命令行上指定了种子值: - seed x
$ rake test
(in /code/blah)
Loaded suite /../ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
.
Finished in 0.12345 seconds.
1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
Test run options: --seed 20290
Run Code Online (Sandbox Code Playgroud)
我假设可以在测试中使用此值,但我无法弄清楚如何.我试过Google,Rails Guides等.但似乎无法找到答案.
编辑:
这个种子值是否可以被Minitest用来随机化测试的执行顺序?
在我的Rails(3.1.3)应用程序中,我可以运行rake db:test:prepare.但是当我跑步时rake -T [db],那个任务(以及我可以使用的许多其他任务)都没有出现.
如何获得完整的任务列表,或者为什么它首先不完整?
例如http://mindspill.net/computing/cross-platform-notes/ruby-on-rails/how-to-list-rake-tasks/显示已为旧Rails列出'db:test:prepare'任务运行时的版本rails -T.
这两个命令是否相同?如果没有,有什么区别?