私たちはScala/Javaのショップで、私たちはGradleをビルドに使用し、HudsonをCIに使用します。私たちは最近、mochaのテストでnode.jsコードを書いています。ハドソンでのワークフローと設定にグラデーションワークフローを含めるにはどうしたらいいですか?私はgradle-javascript-pluginを見ましたが、npm testまたはnpmをどのようにインストールしてインストールするのか、またgradle-buildコマンドやgradle-testコマンドを実行する方法がわからず、またHudsonにそれを受けさせてもらえませんでした。NodeJSテストをGradleとHudsonに含めるにはどうすればいいですか?
6
A
答えて
3
私はそこに途中で行くことができます。私はこの仕事にも中間ストリームです。少なくともGradle 1.2を持っていることを確認してください。
import org.gradle.plugins.javascript.coffeescript.CoffeeScriptCompile
apply plugin: 'coffeescript-base'
repositories {
mavenCentral()
maven {
url 'http://repo.gradle.org/gradle/javascript-public'
}
}
task compileCoffee(type: CoffeeScriptCompile){
source fileTree('src')
destinationDir file('lib')
}
参考:私は今、NPMは、EXEC CMDに応じて、グルーヴィーexecの要求とBARFにCMDをインストールする追加することができ、私のCoffeeScriptをコンパイルする方法を提供http://gradle.1045684.n5.nabble.com/State-of-javascript-stuff-in-master-td5709818.html
は標準出力/標準エラー出力に
を提供した結果npm install
echo $?
0
npm install
npm ERR! install Couldn't read dependencies
npm ERR! Failed to parse json
npm ERR! Unexpected token }
npm ERR! File: /<>/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse
npm ERR! System Darwin 11.4.2
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! cwd /<>/
npm ERR! node -v v0.8.14
npm ERR! npm -v 1.1.65
npm ERR! file /<>/package.json
npm ERR! code EJSONPARSE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /<>/npm-debug.log
npm ERR! not ok code 0
echo $?
1
結果で:
task npmDependencies {
def proc = 'npm install'.execute()
proc.in.eachLine { line -> println line}
proc.err.eachLine { line -> println 'ERROR: '+line }
proc.waitFor()
if (proc.exitValue()!=0){
throw new RuntimeException('NPM dependency installation failed!')
}
}
として、モカがテストする限り、私はこれについての最初の知識はありませんが、同様に扱うことができると思われます。
0
あなたは、ドッキングウィンドウのように、あなたはこのGradleのプラグインを好むかもしれない場合は、次の主要なアイデアは、右のビルド後に捨てられます(ただしnode_modulesがにキャッシュされますドッカコンテナ内でごNPMタスクを実行することです https://github.com/dimafeng/containerized-tasks
をあなたのビルドディレクトリ)。したがって、nudをhudson/jenkins/whatever-ciにインストールして、そのバージョンを管理する必要はありません。
plugins {
id "com.dimafeng.containerizedTask" version "0.4.0"
}
npmContainerizedTask {
sourcesDir = 'test-env/gulp'
outputLevel = 'INFO' // ALL, DEBUG
scriptBody = 'npm install\ngulp'
}
、sourcesDir
がコンテナ内で実行されなければならないあなたのpackage.json
、scriptBody
コマンドでディレクトリです:
はここで、それはのように見えるかもしれ方法の簡単な例です。
次に実行してください./gradlew npmContainerizedTask
関連する問題
- 1. Intellij gradleプロジェクトを別のIntellij gradleプロジェクトに含めるにはどうすればいいですか?
- 2. すべてのサブディレクトリをgradleモジュールとして含めるにはどうすればよいですか?
- 3. webpackを使用してnodejsアプリケーションにjqueryを含めるにはどうすればいいですか?
- 4. PythonスクリプトをNodeJSファイルに含めるにはどうすればいいですか?
- 5. SimpleCursorAdapterにSeekBarを含めるにはどうすればいいですか?
- 6. REGEXに変数を含めるにはどうすればいいですか?
- 7. C++プログラムにフローツールを含めるにはどうすればいいですか?
- 8. HTMLコードをビューに含めるにはどうすればいいですか?
- 9. アプリケーションにカスタムルックアンドフィールを含めるにはどうすればいいですか
- 10. DrSchemeにファイルを含めるにはどうすればいいですか?
- 11. UIViewControllerにleah PullRefreshTableviewControllerを含めるにはどうすればいいですか?
- 12. antをビルドファイルに含めるにはどうすればいいですか?
- 13. tsconfig.jsonにlib.es2015.core.d.tsを含めるにはどうすればいいですか?
- 14. "imBack"カードアクションにmetaを含めるにはどうすればいいですか?
- 15. パスにスラッシュを含めるにはどうすればいいですか?
- 16. webpackにマルチパートライブラリを含めるにはどうすればいいですか?
- 17. nginx.confにjavascriptファイルを含めるにはどうすればいいですか?
- 18. jsファイルにHTMLを含めるにはどうすればいいですか?
- 19. BadRequestExceptionにメッセージを含めるにはどうすればいいですか?
- 20. アプリエンジンレスポンスにflashvarsを含めるにはどうすればいいですか?
- 21. VS2015プロジェクトにlibcdsを含めるにはどうすればいいですか?
- 22. Gjsコードにパスを含めるにはどうすればいいですか?
- 23. flotr2グラフをレールに含めるにはどうすればいいですか?
- 24. VC++プロジェクトにビルドタイムスタンプを含めるにはどうすればいいですか?
- 25. Jadeテンプレートにサーバーサイドスクリプトを含めるにはどうすればいいですか?
- 26. 辞書をデータグリッドに含めるにはどうすればいいですか?
- 27. Swiftプロジェクトにライブラリを含めるにはどうすればいいですか?
- 28. rubyコードをcontent_tagに含めるにはどうすればいいですか
- 29. AngularJs $ http.get paramsに "="を含めるにはどうすればいいですか?
- 30. Entity Frameworkにdoubleを含めるにはどうすればいいですか?