48

次のようなことを自動化したい:

  • 事前に選択されたデータベースで新しい Ruby on Rails アプリケーションを作成し、Git で初期化し、Herokuプロジェクトを作成し、すべてのファイルをコミットします。
  • フォルダー内のすべてのファイルを SSH 経由で別のコンピューターにアップロードしますが、ファイルを上書きしません。
  • Ubuntu をアップグレードし、apt-get を使用してすべての基本パッケージをインストールします。

私の理解では、このためのツールは Rake と Thor ですが、どちらを使用すればよいでしょうか?

Rake は、よりデファクトで人気があるように思えます。トールを勧めている人がいると聞いたことがあります。

要約すると、これらはどのように互いに立っていますか?

4

4 に答える 4

101

熊手とトールは異なる目的を果たします。

Rakeは、プロジェクト固有の一般的なビルドスクリプトツールです。つまり、rakefileをプロジェクトフォルダーとプロジェクトのソース管理に配置し、そのrakefile内のプロジェクトに固有の他の自動化タスクを作成、構築、および実行できます。Rakeを実行するには、rakefileが必要です。

Thorは汎用のコマンドラインスクリプトツールであり、多くのプロジェクトでスクリプトを再利用したり、提案しているようにプロジェクトのセットアップなどを簡単に実行したりできます。rubyThorを使用すると、「 」、「gem」、または「rake」コマンドラインを呼び出すのと同じように、システムのどこからでも呼び出すことができる実行可能スクリプトを「インストール」できます。ただし、Thorスクリプトはプロジェクト固有のフォルダーにあるファイルに依存しないため、Thorのスクリプトは汎用のクロスアプリケーション自動化に適しています。Thorスクリプトはスクリプト全体であり、どこでも再利用できるようにパックおよびインストールされています。

表明されたニーズに基づいて、スクリプトを1つの場所にインストールし、システムのどこでも機能させることができるため、Thorを使用することをお勧めします。Rakeファイルが置かれている場所などに縛られることはありません。

ちなみに、Rails 3は、プロジェクト固有ではないほとんどすべてにThorを使用しています。まだRakeファイルがあり、「rake db:migrate」や「」などを実行しますrake test:units。Thorはrails new ...、「」、「」、「rails server」などに使用さrails generate ...れます。Rails3でのThor AND Rakeの使用は、これらの各ツールが最適な場所を示す完璧な例です。

于 2010-08-20T14:22:16.030 に答える
13

Ubuntu の雑用をセットアップするには、Chef の方が適しているかもしれません。

彼らのウェブサイトから:

Chef は、インフラストラクチャ全体にサーバー構成管理の利点をもたらすように構築された、オープン ソースのシステム統合フレームワークです。

Ruby で書かれており、Chef のレシピや料理本がたくさんあります。Chef は、Ubuntu のセットアップと、パッケージ、サーバーなどのインストールを処理します。

仮想マシンで作業しているかどうかはわかりませんが、Vagrant は仮想マシンをセットアップし、Chef を使用して構成します。

于 2011-04-14T15:29:03.620 に答える
1

ここで言及すべき重要なことがあります。

http://guides.rubyonrails.org/generators.htmlのセクション 8 アプリケーション テンプレート。

git コマンドの実行、gem の選択、プロジェクトの capify を実行できます。

また、最後のポイントを満たすためにシステム コマンドを実行することもできますUpgrade Ubuntu, install all basic packages through apt-get

于 2013-09-07T22:56:43.750 に答える
0

私は人形で行きます。

ところで、おそらくvagrantはあなたにとって役に立ちますか?

于 2012-09-04T11:46:53.197 に答える