Rake vs. Thor für Automatisierungs-Skripte?
Möchte ich automatisieren Dinge wie:
- Erstellen Sie eine neue Ruby on Rails-Anwendung mit vorab ausgewählten Datenbank, Git initialisieren, erstellen Sie eine Heroku Projekt, verpflichten sich, alle Dateien, etc.
- Laden Sie alle Dateien im Ordner zu einem anderen computer über SSH, aber keine Dateien überschrieben.
- Upgrade Ubuntu, installieren Sie alle Basis-Pakete über apt-get.
Was ich verstehen, die Werkzeuge dafür sind Harke und Thor, aber was sollte ich verwenden?
Rake scheint mir mehr de-facto-und beliebt. Ich habe gehört, wie Leute empfehlen, Thor.
Wie Verhalten sich diese zu einander stehen, in einem heruntergekommenen?
- Obwohl @derick-bailey ' s Antwort ist eine Super Erklärung von Rake vs. Thor, Sie wahrscheinlich sollte in ein configuration management tool wie Chef oder puppet, die für die meisten der System-installation (Upgrade von ubuntu, Pakete installieren, ect). Sie sollten auch einen Blick in Capistrano für die Bereitstellung Ihrer rails-app. Rake sind nicht die besten Werkzeuge für alle diese Aufgaben
Du musst angemeldet sein, um einen Kommentar abzugeben.
Rake und Thor unterschiedlichen Zwecken dienen.
Rake ist ein Allgemeines build-Skript-tool, das Projekt-spezifische. In anderen Worten, setzen Sie Ihre rakefile in Ihrem Projekt Ordner und in Ihr Projekt Quellcodeverwaltung, und Sie können erstellen, zu bauen und andere Aufgaben der Automatisierung, die speziell für Ihr Projekt rakefile. Rake erfordert eine rakefile zu laufen.
Thor ist ein Allzweck-Befehlszeilen-scripting-tool, das macht es sehr einfach zu re-Skripts verwenden, das über viele Projekte und Projekt-setup, etc., wie Sie es vorschlagen. Thor ermöglicht das "installieren" ein ausführbares Skript, das Sie von überall aus auf Ihrem system, ähnlich wie der Aufruf von "
ruby
", "gem
" oder "rake
" Befehl Linien. Jedoch, Thor-Skripte sind besser geeignet für general purpose, cross-Anwendung, die Automatisierung, da die Thor script sich nicht auf eine Datei, Sie sitzen in Ihrem Projekt-spezifischen Ordner. Ein Thor script ist das gesamte Skript, verpackt, installiert und für re-use überall.Basierend auf Ihren angegebenen Anforderungen, Sie sind besser dran mit Thor, weil Sie in der Lage, installieren Sie Ihr Skript in einem Ort und haben Sie von überall aus arbeiten auf Ihrem system. Sie wird nicht gebunden werden, wobei eine Rake-Datei sitzt, oder ähnliches.
Durch die Art und Weise, Rails 3 nutzt Thor für so ziemlich alles, was nicht projektspezifisch. Sie haben noch eine Rake-Datei, und Sie laufen immer noch Dinge wie "
rake db:migrate
" oder "rake test:units
". Thor ist für Dinge wie "rails new ...
", "rails server
" und "rails generate ...
" Die Nutzung von Thor UND Rake in Rails 3 ist die perfekte illustration, wo jedes dieser Werkzeuge ist am besten geeignet.rake
wird nur Projekt spezifisch, Sie definieren können, Globale Rechen-Aufgaben 🙂Einrichten Ubuntu Hausarbeit, Koch könnte eine bessere option sein.
Von deren Website:
Es ist geschrieben in Ruby, und es gibt Tonnen von Koch-Rezepte/Kochbücher. Koch-handle einrichten Ubuntu und installieren von Paketen, Server, etc.
Ich weiß nicht, ob Sie arbeiten mit virtuellen Maschinen, aber Vagrant eine virtuelle Maschine aus, und verwenden Sie dann Chef um ihn zu konfigurieren.
Ich würde mit puppet.
Durch die Art und Weise, vielleicht vagrant ist nützlich für Sie?
Gibt es etwas wichtiges zu erwähnen.
http://guides.rubyonrails.org/generators.html in Abschnitt 8 Anwendung Vorlagen.
Können Sie git-Befehle ausführen, wählen Sie Edelsteine, capify Projekt.
Und konnte Sie auch ausführen, system-Befehle, um Ihren letzten Punkt:
Upgrade Ubuntu, install all basic packages through apt-get
.