私は Capistrano の大ファンですが、Java のみのショップ用に自動展開スクリプトを開発する必要があります。私は Ant と Maven を見てきましたが、Capistrano のようにリモート管理に適しているようには見えません。単純にアプリケーションを構築してパッケージ化することに重点を置いているようです。そこにもっと良いツールはありますか?
6 に答える
Java Web アプリケーション用の Capistrano のようなアプリケーションはないと思いますが、アプリケーションをデプロイするためにそれ (または Fabric のような代替手段) を使用することを妨げるべきではありません。すでに述べたように、Ant は GNU Make の代替であり、Maven は主要なビルドアウト/依存関係管理アプリケーションです。
Java Web アプリケーションは外部ライブラリへの依存度が低い .war コンテナーのおかげであるため、(アプリケーション サーバーによっては) シンプルな HTTP PUT 要求を実行するのと同じくらい簡単にアプリケーションを展開できます。
ただし、追加の手順が必要な場合は、Fabricはこれまでのところ非常にうまく機能しており、Capistrano も一般的なシェル コマンド、put および get 操作を提供していると思います。だから、あなたがすでに持っているものがすでに機能しているなら、私は代替案をあまり長く探しません:-)
controltier ( http://controltier.orgを参照) が探しているものだと思います。ただし、controltier は Java デプロイ専用である必要はありません。
ドキュメントからのこの抜粋を参照してください (参照:コントロール層のドキュメント):
ControlTier は Capistrano、Fabric、または Func と同じですか?
最も基本的な概念では、ControlTier、Capistrano、Fabric、および Func は類似したツールです。Capistrano、Fabric、および Func の基本的なコマンド ディスパッチング フレームワークを間違いなく呼び出します。
ただし、ControlTier は設計上、これらの他のツールが提供するものをはるかに超えています。ControlTier が提供する自動化ライブラリと Web ベースのツールは、エンタープライズまたは大規模な Web 運用チームがすぐに使用できる完全な自動化システムを構築できるように設計されています。エラー処理や集中ログなど、他のコマンド ディスパッチ ツールの範囲外の機能もあります。
また、Capistrano は、主に Ruby on Rails コミュニティのニーズに焦点を当てた Ruby ベースのツールです。ControlTier は Java で記述されていますが、Java の知識がなくても使用できます。実際、使い慣れたスクリプト言語 (ruby を含む) を使用できます。ControlTier は、可能な限り言語とプラットフォーム (Linux、Unix、Windows など) に依存しないように努めています。
私の職場では、Capistrano のみを使用してすべての Java アプリケーションをデプロイしています。それは間違いなく可能です。
ソースから dspace (Maven を使用する Java Web アプリケーション) を構築するためのカピストラーノ レシピを使用します:カピストラーノを使用した dspace のインストール