我想实现自动化,比如:
- 使用预先 Select 的数据库创建一个新的Ruby on Rails应用程序,Git初始化它,创建一个Heroku项目,提交所有文件,等等.
- 通过SSH将文件夹中的所有文件上载到另一台计算机,但不要覆盖文件.
- 升级Ubuntu,通过apt get安装所有基本软件包.
据我所知,这方面的工具是Rake和Thor,但是,我应该使用哪一种?
在我看来,Rake实际上更受欢迎.我听人推荐雷神.
在一个简陋的故事中,这些人是如何站在一起的?
我想实现自动化,比如:
据我所知,这方面的工具是Rake和Thor,但是,我应该使用哪一种?
在我看来,Rake实际上更受欢迎.我听人推荐雷神.
在一个简陋的故事中,这些人是如何站在一起的?
Rake和Thor有不同的用途.
Rake是一个通用的构建脚本工具,它是特定于项目的.换句话说,你把你的rakefile放到你的项目文件夹和项目的源代码管理中,你可以在这个rakefile中创建、构建和执行其他特定于你的项目的自动化任务.耙子需要耙子才能运行.
Thor是一个通用的命令行脚本工具,可以很容易地跨多个项目重用脚本,并按照您的建议进行项目设置等.Thor允许您"安装"一个可执行脚本,您可以从系统的任何地方调用它,类似于调用"ruby
"、"gem
"或"rake
"命令行.然而,Thor的脚本更适合于通用、跨应用程序的自动化,因为Thor脚本不依赖于项目特定文件夹中的文件.Thor脚本是整个脚本,打包并安装后可在任何地方重复使用.
根据您所述的需求,最好使用Thor,因为您可以在一个位置安装脚本,并使其在系统上的任何位置工作.您将不会被绑定到Rake文件所在的位置或类似的位置.
顺便说一句,Rails 3使用Thor处理几乎所有与项目无关的事情.你仍然有一个Rake文件,你仍然运行"rake db:migrate
"或"rake test:units
"之类的东西.Thor用于诸如"rails new ...
"、"rails server
"和"rails generate ...
"之类的工具.Thor和Rake在Rails 3中的使用完美地说明了这些工具最适合的位置.