我正在尝试设置我的Rails项目,以便贡献者所需的所有验证都在一个命令中,目前我们一直在运行:raketest但是现在我们也想用rubocop做静态分析:rubocop-R-a我希望它可以在一个简单的rake任务中执行。最好覆盖“rake测试”以运行rubocop,然后运行rails项目的标准rake测试内容,因为这样就没有人需要记住更改命令。但是,如果我必须创建一个单独的rake任务,那也可能没问题。我看过rubocoprake集成here,atthebottom,但我不确定如何将其与“raketest”捆绑到一个任务中......有什么想法吗? 最佳
我知道这看起来很愚蠢,但我想在我正在设置的rake任务中调用一些Rails的文本助手。(类似于复数和循环方法:http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html)您将如何在rake任务中提供这些,或者这不容易实现? 最佳答案 在你的rake任务中扩展ActionView::Helpers是相当困惑的——它基本上包括你的Rake任务中的所有helper方法。ActionController::Base.helpers.pluralize(5,'do
我有一个rails应用程序和一个rake任务,我将通过cron大约每小时执行一次。但问题是该任务使用rails环境和我的rails应用程序的某些类。如果我将它作为ruby脚本运行,我将必须包括它使用的所有依赖项,我认为不可能以简单的方式正确地做到这一点。所以我必须将它作为rake任务运行,因为它会保留所有依赖项,对吗?那么如何从cron运行rake任务呢?请注意,在没有必要的情况下,我不喜欢使用任何第三方解决方案,在这种情况下,我不想在任何时候使用gem等。 最佳答案 你可以在你的crontab中添加类似的东西0****/bin
每当我从rake调用sh时,它通常会回显将在运行之前运行的命令。如何防止sh将命令记录到标准输出。我想防止这种情况发生,因为我在调用的命令中有apikey,而且我不想在我的构建日志中公开它们。 最佳答案 解决这个问题有两个部分。第一种是传递verbose:false选项,这将防止命令在执行前被打印出来:$catRakefileSECRET='foobarbaz'task:foodosh"echo#{SECRET}>secrets.txt",verbose:falseend$rakefoo(nooutput)但是,如果出现错误,这将无
我有一个现有的.rake文件。它曾经有一个任务,我在现有的rake文件中又添加了一个任务。但是当我尝试运行时,它会抛出一个错误:rakeaborted!Don'tknowhowtobuildtask___abc.rake文件:namespaceabcdnamespaceabcdetaskpqrdo------------------endtaskmnodo(newtaskwhichIadded)---------------------endendend但是当我使用命令时:rakeabcd:abcde:mno--它显示了上面的错误所以我使用了rake-T-A,我能够看到rake任务ab
当我运行时:rake数据库:设置我得到:fe_sendauth:nopasswordsuppliedCouldn'tcreatedatabasefor{"adapter"=>"postfresql","encoding"=>"unicode","host"=>"localhost","pool"=>5,"username"=>"my_user","password"=>nil,"database"=>"my_db_test"}--enable_extension("plpgqsl")rakeabortedTasks:TOP=>db:schema:load我的数据库.yml:connec
一位同事提出了使用rake作为非ruby项目的构建系统的想法。是否可以扩展rake以补充通常使用autoconf工具集的其他语言? 最佳答案 有这样的例子,比如buildr,在rake之上构建的maven(对于java)的替代品。还有raven对于Java。 关于ruby-在非ruby项目中使用rake,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/406252/
哪种方式,我可以通过远程服务器上的capistrano运行rake命令。例如我有一个带有一些方法的lib/task/reparse.rakedesc"it'stakecsvfile,makessomechangesandfilldbwiththisinfo"task:example1=>:environmentdorequire'csv'rows_to_insert=[]#someactions#...end在本地服务器上一切正常-我只是运行rakereparse:example1它的工作(正确填充数据库)。所以问题是-部署后如何在真实主机上运行此命令?我正在使用rails4.1+ca
最近我在Windows上使用新的RubyInstaller安装了Ruby2.2.1。为了检查是否一切正常,我进入了一个Rails应用程序并运行了bundleinstall,它运行良好。但是,当我使用bunleexecraketest运行测试时,出现以下错误:rakeaborted!LoadError:cannotloadsuchfile--nokogiri/nokogiriD:/Dev/Grummle/config/application.rb:7:in`'D:/Dev/Grummle/Rakefile:4:in`'LoadError:cannotloadsuchfile--nokog
定义rake任务时,可以使用命名空间,如下所示:namespace:demolitiondotask:fire_bazookadoputs"kaboom!"endend这可以像rakedemolition:fire_bazooka这样调用。也可以指定任务的先决条件,如下所示:#Singleprerequisitetask:fire_bazooka=>:load_bazookado....#Multipleprerequisitestask:fire_bazooka=>[:safety_check,:load_bazooka]但是我如何使用命名空间任务作为先决条件?这显然行不通:task