grunt-maven-pluginを使って、Mavenのビルド工程でGruntビルドを実行する。

数ヶ月前から開発環境にGruntを導入しました。
JavaScriptやCSSの開発工程を自動化するGruntとは何か?
さすがに便利で、一気に運用中の全プロジェクトに展開されました。

Mavenのビルド工程でGruntビルドをする

Gruntのビルドは、コマンドラインでgruntコマンドを実行するだけです。

grunt

grunt-contrib-watchを併せて使うと、ファイルの変更時にビルドをかけてくれます。
grunt-contrib-watchで、JavaScriptやCSSの更新時に自動でビルドする。
開発中はこれで良いんですが、変更内容をコミットしてJenkinsにビルドさせる場合、Mavenのビルド工程にGruntのビルド処理が組み込まれていると、さらにスムーズです。

grunt-maven-pluginを使う

そこで、grunt-maven-pluginを使って、Mavenのビルド工程にGruntのビルドを組み込みます。
スクリーンショット 2014-07-06 22.41.27
allegro/grunt-maven-plugin
設定は、こんな感じです。


	pl.allegro
	grunt-maven-plugin
	1.3.0
	
		
			process-resources
			
				npm
				grunt
			
		
	
	
		${project.build.directory}/grunt
	

これで、アプリケーションのビルド工程でGruntが実行されます。

フロントエンドのビルドは全てGruntへ

今までは、LESSやTypeScriptなどのフロントエンドのコードのビルドもMavenで行っていました。しかしながら、フロントエンドのコードのビルドにMavenを使うのは、親和性も低いですし、とにかく処理が重いという問題がありました。
最終的に、フロントエンドのコードのビルドは全てGruntにまかせて、Mavenは単にgrunt-maven-plugin経由でGruntを呼び出すのみにしました。
これで、フロントエンドのエンジニアは、Mavenを起動せずに、Gruntのみで開発ができるようになりました。またJenkinsなどを通してアプリケーション全体をビルドする場合も、Maven経由でGruntを呼び出すので、同一のビルド設定を流用でき、安全かつ簡単になりました。

タイトルとURLをコピーしました