web-dev-qa-db-ja.com

JavaScriptで記述されたFabricに似たデプロイメントツールはありますか?

Node.jsでほぼ完全にJavascriptを使用しているモバイル開発スタックをまとめました。 SASS(LESSよりも優先)とFabricを除いて。開発ディレクトリを汚染したくないのですが、とにかくJSとCSSを組み合わせて縮小する必要があるため、node.jsを使用してコードを提供することもできると思いました。

Rubyおよび/またはPythonへの依存を減らしたい。Fabricのすべての機能を実際に使用しているわけではないので、置き換えることを望んでいる。しかし、同様のものは見つからなかった。 Javascriptで書かれたツール。

必要なのは次のことだけです。

  • Gitリポジトリからプルします。
  • 依存関係をローカルにインストールします。
  • Require.js/SASSを呼び出すJS/CSSを縮小して結合します。
  • Testsuiteを実行します。
  • ハンズオンまたはRippleでのテストのために、node.jsを介してコードを提供します。

ファブリックはすでにやり過ぎかもしれません。必要なサーバーが私のマシンで実行されていないため、Python Webプロジェクトにのみ使用しますが、ここではそうではありません。ファブリックなしでこれを処理する最良の方法は?

32
Peter Throwson

私も同じ質問を考えてきました。

私がこれまでに見つけた最も有望な直接の候補はローンチです( https://github.com/bengourley/launch )。しかし、1年ほど更新されていないので、今後の状況が少し疑わしいです。

明らかに良い解決策がないので、私はビルド/デプロイメントの問題全体を次のように1つずつ解決することになりました。

  • 試行錯誤の末、node_modulesから.gitignoreを削除しました。影響の1つは、依存関係をローカルにインストールする必要がなく、2番目のステップを削除することです( これを読んでみてください あなたも納得します)。
    • 編集:これはもう行わず、代わりにnode_modules.gitignoreに保持します。 package.jsonが最新の状態に保たれていることを確認してください(ヒントについては、 "Shrinkwrapを使用したNode.jsの依存関係の管理" を参照してください)
  • 最終的に、JS/CSS処理、リンティング、およびテストスイートを grunt で実行して自動化しました。強くお勧めします。
  • 私は怠惰で、ちょうど今、縮小されたものをgitに追加しています(うまくいけば、いつかこれを変更するでしょう)。
    • 編集:縮小されたものをgitに追加しなくなりましたが、代わりに展開時にgruntを実行して縮小を行います

そうすることで、Fabricの必要性の一部を効果的に完全に排除し、実際の展開のみを解決する必要があります。

  1. 最善の解決策(展開に関して)は、独自のサーバーの実行を避け、 HerokNodejits などの準備が整ったクラウドソリューションを使用することです。
  2. または、独自のnode.jsデプロイメントツールをホストすることもできます。たとえば、 Nodester を独自のサーバーにインストールし、提供されているAPIとツールを使用できます。
  3. Linuxボックスでは、node.jsアプリを再デプロイするワンライナーを作成するのは非常に簡単なので、そのために(bash以外の)追加のツールを使用する必要はないと思います。

そうは言っても、私ももっと良い解決策について聞いてうれしいです。

編集:デプロイについて知りました( https://github.com/visionmedia/deploy )。非常に有望なようです。あなたもそれを試すことができます!

9
jsalonen

Flightplan 非常に面白く見え、Fabricに触発されています。そのドキュメントには広範な例があり、チェックする価値があります。

16
Daniel

stagecoach ステージングとデプロイを行い、依存関係のインストールと起動スクリプトをサポートします。

ここにブログ投稿があります stagecoachを使用したnode&mongoのデプロイについて。

3
ruffrey

別のjavascriptデプロイメントツールは shipitjs

彼らのreadmeから:

Shipitは、ノード/ iojs用に作成された自動化エンジンおよびデプロイメントツールです。

Shipitは、Rubyを知らない人、またはRubyでいくつかの問題を経験した人のためのCapistranoの代替として構築されました。 JavaScriptでタスクを記述し、ノードエコシステムを楽しみたい場合は、Shipitも最適です。

1
nu everest