2012-02-14 8 views
3

私は、継続的な統合環境の一部としてJSHINTをすべてのjavascriptファイルで自動的に実行したいと考えています(実際はTFS Gated Checkinの一部であるかもしれませんが、速度に依存するのでまだ分かりません)。 jshintをビルドプロセスの一部として自動化するにはどうすればいいですか?

は、私はこのような サイ-jshintを使用してみました:

java -jar js.jar jshint-rhino.js myFile.js 

が、どのように私は必要なJSHintオプションを設定することができますか?私はmyfile.jsの先頭のコメントにそれらをリストすることができますが、私はたくさんのjavascriptファイルを持っています。私はすべてのソースファイルにオプションを複製したくありません。 (またはJavaScriptは、私は認識していないよ「を含む」機能を持っていますか?)私は、コマンドライン上のパラメータとしてでoptions.jsファイルを渡し、その後、バージョン管理下にoptions.jsを保つことを望んでいた

。しかし、私はjshint-rhino.jsでこれが可能だとは思わない。

さらに、私たちが保存したすべてのJavaScriptファイルを「JSHint」するのにVisual studio extensionを使用しています。しかし、このツールはコマンドラインで実行することはできません。私たちは、Visual Studio内でJSHintを実行し、CIビルドで自動化した後、オプションを複製することなく(そして実際にはバージョン管理下でオプションを保持する)、両方の世界のベストを願っています。

他の人が開発プロセスでJSHintをどのように自動化するのですか?

+0

これはあなたがワークフローベースの自動ビルド時に実行するだけで、コマンドラインユーティリティですか? –

+0

@Ed - それはそれを要約したものです。私は現在、SharpLinterを使用しており、ポストビルドイベントの一部として分析を実行しています。 – GarethOwen

答えて

2

基本的にTFS 2010ビルドプロセスの内部でコマンドラインアクティビティを使用したいので、実際にはかなり簡単です。このツールを実行する時点で、InvokeProcessワークフローアクティビティ(see MSDN documentation)を追加することをお勧めします。

実際には、別のコマンドラインユーティリティでこれを行うにはwalkthroughが利用できますが、自分で置き換えるだけです。ワークフローアクティビティも、あなたはあなたがに渡すことができるコマンドラインパラメータのセットを指定することができます。

+0

InvokeProcessリンクをありがとう。私はTFSビルドには新しく、ビルドシーケンスの一部として単純なコマンドラインコールを追加するのは一目瞭然ですが、結局のところ単純かもしれません。 – GarethOwen

+0

それは確かです!これがあなたの問題を解決したのでしょうか? –

+0

それでもビルド後のイベントとして呼び出します。それは働いていて速いので、InvokeProcess(まだ)としてそれをやる必要はありません。 – GarethOwen

3

の両方を見ますが、TFSのビルドを実行している間、あなたのJavascriptを確認したい場合は、私が推薦しますsharplinterを見てみた:

https://github.com/jamietre/SharpLinter

これはJSLint/JSHintでJavaScriptファイルを確認することができます実行可能ファイルが含まれています。これをTFSビルド中に実行するには、ワークフローに含めることができるコードアクティビティを作成することができます。

Techdays 2012のMarcel de Vries氏が作成したこのビデオは、自動ビルドプロセスをステップバイステップで行い、独自のアクティビティを組み込む方法のデモを行います。

http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2361

+0

実際、SharpLinterを使用しています。私たちは、指定されたビジュアルスタジオプロジェクト内のすべてのjavascriptファイルを見つけ出し、それらをSharpLinterに送るバッチファイルを持っています。バッチファイルは、ビジュアルスタジオプロジェクトのビルド後イベントとして呼び出します。 Visual Studio 2012にアップグレードすることはまだできていません - 2010年を使用しています。 – GarethOwen

+0

これは、TFSビルド中にコードがチェックされないことを意味しますが、コードはローカル環境でのみチェックされます。これがうまくいく場合は変更する必要はありませんが、チームと一緒に作業している場合は、実際のTFSビルドのエラーをチェックする価値があります。この投稿はシャープを統合するための出発点でしたので、助けにならない場合でも多分助けてくれる人がいます。 –

+0

ああ私は同意する - シャープリンターは素晴らしいです。しかし、このソリューションはローカル環境だけでなく、PostBuildイベントが失敗したときにTFSビルドも失敗します。コマンドラインからMSBuildを使用してプロジェクトをビルドするので、ostBuildイベントはTFSビルドで使用するプロジェクト構成に存在します。このソリューションは、約10人の開発者からなるチームにとってうまくいきます。 – GarethOwen

関連する問題