Jenkins CI は、現在市場で最も人気のある継続的インテグレーションサーバーの 1 つです。AngularJS プロジェクトを開発中に(できれば早い時期に)、コードバージョニングシステムから自動テストを実行したい場合があります。Jenkins はこのタスクに役立ちます。このチュートリアルでは、Jenkins が CI 環境で既にセットアップされ、実行されていることを前提としています。
Jenkins CI サーバーに次のツールをインストールする必要があります
次の Jenkins プラグインはオプションですが、次のガイドラインはこのプラグインに基づいています
必要に応じて、karma.conf.js
ファイルに次の追加と変更を加えます
singleRun: true,
reporters: ['dots', 'junit'],
junitReporter: {
outputFile: 'test-results.xml'
},
test-results.xml
ファイルが現在作業中のディレクトリ内の、テストが実行されたブラウザにちなんだ名前のサブディレクトリに書き込まれることに注意してください(Jenkins にそれらのファイルの場所を指定する必要があります)。
Jenkins で、基本的な設定(名前、説明、パラメータ、取得元のソースコードリポジトリなど)で Angular/Karma のための新しいジョブを開始します
まずジョブページに移動し、「構成」をクリックします。次に、「ビルド環境」サブセクションで、「Inject environment variables to the build process'」(ビルドプロセスに環境変数を挿入)というチェックボックスにチェックを入れます。テキストボックスが数個表示され、「Properties Content」(プロパティのコンテンツ)ボックスに以下を設定します
$ PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
$ PHANTOMJS_BIN=/usr/local/bin/phantomjs #or wherever PhantomJS happens to be installed
ページの下部にある、「Post-build Actions」(ビルド後アクション)サブセクションで、「Publish JUnit test result report」(JUnit テスト結果レポートの発行)を「Post-build action」(ビルド後アクション)のドロップダウンメニューから追加します。テストレポート XMLs というラベルのテキストボックスが表示されたら、Jenkins ジョブワークスペースのルートから見た test-results.xml
ファイルのパスを入力します(この場合、ワイルドカードを使用できます。したがって、**/test-results.xml
は、ブラウザ固有のサブディレクトリ内に格納されていたとしてもファイルを検索します)。