Rake y Thor sirven para diferentes propósitos.
Rake es una herramienta de script de compilación general que es específica de un proyecto. En otras palabras, coloca su archivo de búsqueda en la carpeta del proyecto y en el control de origen de su proyecto, y puede crear, crear y realizar otras tareas de automatización que sean específicas de su proyecto en ese archivo de búsqueda. Rake requiere un rakefile para correr.
Thor es una herramienta de scripting de línea de comandos de propósito general que hace que sea muy fácil reutilizar scripts en muchos proyectos y realizar la configuración del proyecto, etc., como usted sugiere. Thor le permite "instalar" un script ejecutable al que puede llamar desde cualquier lugar de su sistema, similar a llamar a las líneas de comando "ruby
", "gem
" o "rake
". Sin embargo, los scripts de Thor son más apropiados para la automatización de aplicaciones cruzadas y de propósito general porque el script Thor no depende de un archivo ubicado en la carpeta específica de su proyecto. Una secuencia de comandos Thor es la secuencia de comandos completa, empaquetada e instalada para su reutilización en cualquier lugar.
En función de sus necesidades declaradas, es mejor que utilice Thor porque podrá instalar su secuencia de comandos en un solo lugar y hacer que funcione en cualquier lugar de su sistema. No se lo vinculará a un lugar donde se encuentra un archivo Rake ni nada por el estilo.
Por cierto, Rails 3 usa Thor para casi todo lo que no es específico de un proyecto. Aún tiene un archivo Rake y todavía ejecuta cosas como "rake db:migrate
" o "rake test:units
". Thor se utiliza para cosas como "rails new ...
", "rails server
" y "rails generate ...
" El uso de Thor AND Rake in Rails 3 es la ilustración perfecta del lugar donde cada una de estas herramientas se adapta mejor.
Aunque la respuesta de @ derick-bailey es una gran explicación de Rake vs. Thor, probablemente deberías buscar una herramienta de administración de configuración como Chef o títere para la mayoría de las tareas de instalación del sistema (Actualizar ubuntu, instalar paquetes, ect). También debería mirar a Capistrano para desplegar su aplicación de rieles. El rastrillo no es la mejor herramienta para todas estas tareas – edhurtig