66

Maven と Jenkins の違いは何ですか?

どちらも自動ビルドと JUnit の自動実行をサポートしています。

もしそうなら、それらは補完的ですか、それとも相互に排他的ですか? いつ一方を他方よりも使用する必要がありますか?

4

4 に答える 4

87

Maven はツール/環境を構築しています。Jenkins は CI (継続的インテグレーション) ツールです。

Maven は Ant の代わりに似ています。

  1. ビルドとバージョン管理、JUnit テストなどのプラグインを介してプロジェクトの構築を支援します。
  2. プロジェクトの依存関係を管理します。プロジェクトのビルド方法 (プラグイン) と必要なライブラリ (依存関係) を pom.xml ファイルで定義します。

スマート ジョブ スケジューラとしての Jenkins は、バージョン管理や JUnit テストなどのタスクを支援することはできませんが、プロジェクトの pom.xml ファイルを呼び出すことで、これらすべてを間接的に支援できます。また、Jenkins を使用すると、呼び出す条件と結果に対して何をしたいかに基づいて、いつ pom.xml ファイルを呼び出すかを決定できます。Jenkins は、svn コミット、現在時刻が真夜中など、さまざまなイベントをリッスンできます。

これは強力なアイデアです。たとえば、Jenkins に、新しいコードがコミットされるたびにビルドをトリガーするか、すべての JUnit テストを実行するように依頼し、ユニット テストに合格した場合は、ターゲット マシンにデプロイすることができます。または、単体テストなどの重いタスクを深夜にスケジュールします。これは、自動展開または継続的インテグレーションの基本的な考え方です。略してCIです。

于 2012-05-31T13:21:23.737 に答える
27

Maven は、依存関係とアプリケーションのライフ サイクルを管理するビルド ツールです。また、標準のコンパイル/テスト/パッケージ/インストール/デプロイ タスクに他のタスクを追加できるプラグイン設計もありました。

Jenkins は、リポジトリからコードをチェックアウトし、ビルドしてパッケージ化し、テストできるようにサーバーにダンプする継続的な統合スイートです。ビルド ツールとして Maven または Ant を使用できます。

要約すると、Jenkins は Maven を継続的インテグレーションのビルド ツールとして使用できます。CI を行わないことを選択した場合は、Jenkins なしで Maven を使用できます。

于 2012-05-31T13:10:00.087 に答える
1

Maven はビルド ツールであり、要するに ant の後継です。ビルドとバージョン管理に役立ちます。

ただし、Jenkins は継続的インテグレーション システムであり、ビルドには maven が使用されます。Jenkins を使用して、デプロイ プロセスを自動化できます。新しいコードがコミットされるたびに、すべての Junit テスト ケースが自動的に実行され、テストに合格した場合は、プロジェクトがパッケージ化されて特定の場所にデプロイされます。

于 2015-06-05T10:04:26.410 に答える