48 votes

Râteau vs Thor pour des scripts d'automatisation?

Je veux automatiser des choses comme:

  • La création d'une nouvelle application Rails avec pré-sélectionnée de la base de données, git l'initialiser, créer heroku projet, s'engagent tous des fichiers, etc.
  • Télécharger tous les fichiers d'un dossier à un autre ordinateur via ssh, mais ne pas écraser les fichiers.
  • Mise à niveau de Ubuntu, installer tous les packages de base par apt-get.

Ce que je comprends, de ce type d'outils sont un Râteau et Thor, cependant, qui dois-je utiliser?

Rake me semble plus facto et populaire. J'ai entendu des gens de recommander Thor.

Comment ceux-ci se tiennent les uns aux autres dans une liste?

101voto

Derick Bailey Points 37859

Râteau et Thor servent à des fins différentes.

Le râteau est une construction générale de l'outil de script qui est spécifique à un projet. Dans d'autres paroles, vous mettez votre rakefile dans le dossier de votre projet et de votre projet de contrôle de la source, et vous pouvez créer, construire et faire d'autres tâches d'automatisation qui sont spécifiques à votre projet dans la mesure où rakefile. Râteau nécessite un rakefile à exécuter.

Thor est un objectif général de script en ligne de commande outil qui le rend très facile de ré-utiliser des scripts à travers de nombreux projets, et faire de projet d'installation, etc., comme vous le suggérez. Thor vous permet de vous "installer" un script exécutable que vous pouvez appeler à partir de n'importe où sur votre système, similaire à l'appel "ruby", "gem" ou "rake" lignes de commande. Cependant, Thor scripts sont plus adaptés à l'usage général de la croix-application de l'automatisation, car le Thor script ne repose pas sur un fichier dans votre projet-dossier spécifique. Un Thor script est le script complet, emballé et installé pour ré-utiliser n'importe où.

Basé sur vos besoins établis, vous êtes mieux à l'aide de Thor parce que vous serez en mesure d'installer votre script dans un endroit et de le faire travailler de n'importe où sur votre système. Vous ne serez pas lié à l'endroit où un Râteau fichier est assis ou quelque chose comme ça.

Par la voie, Rails 3, Thor utilise pour à peu près tout ce qui n'est pas spécifique au projet. Vous avez encore un Râteau fichier et vous courez toujours des choses comme "rake db:migrate" ou "rake test:units". Thor est utilisé pour des choses comme "rails new ...", "rails server" et "rails generate ..." L'utilisation de Thor ET le Râteau dans Rails 3 est la parfaite illustration de l'endroit où chacun de ces outils est le mieux adapté.

13voto

Tom Corbin Points 111

Pour la configuration d'Ubuntu tâches ménagères, le Chef pourrait être une meilleure option.

À partir de leur site web:

Le Chef est un open source d'intégration de systèmes de cadre, construit pour apporter les avantages de la configuration du serveur de gestion pour l'ensemble de votre infrastructure.

Il est écrit en Ruby et il y a des tonnes de recettes Chef/livres de cuisine. Le Chef va gérer la configuration d'Ubuntu et installer des paquets, les serveurs, etc.

Je ne sais pas si vous travaillez avec des machines virtuelles, mais Vagrant sera mis en place une machine virtuelle, puis utilisez Chef de le configurer.

1voto

juanpastas Points 7530

Il y a quelque chose d'important à mentionner ici.

http://guides.rubyonrails.org/generators.html dans son article 8 Modèles d'Application.

Vous pouvez exécuter des commandes git, sélectionnez gemmes, capify projet.

Et vous pouvez également exécuter des commandes système pour satisfaire votre dernier point: Upgrade Ubuntu, install all basic packages through apt-get.

0voto

czerasz Points 2135

J'irais avec des marionnettes.

Par la manière, peut-être vagrant est utile pour vous?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X