====== jenkins側での自動テスト用の準備 ====== ・プロジェクトの設定→ビルド・トリガ\\ SCMをポーリングのスケジュールに「H/2 * * * * 」を入れる \\ 上記により、2分ごとにSVNまたはGitの変更を確認するようになる、\\ 新たにコミットなどが有り、リビジョンが変更された時、登録をしたビルドが実行される。 ===== podsが有る場合の注意点 ===== ※こちらは確実な方法ではありません\\ ・jenkins上にてpodsをインストールするよりかは、podsを入れたプロジェクトを入れる方が楽だと思います。\\ ・シェルの実行を追加し下記コードを追加する #!/bin/bash #Profileを読み込み、文字コードをUTF-8にする cd /Users/sou/ source .bash_profile #ワークスペースに移動し、podsインストールを行う cd ${WORKSPACE} pod install ====== Coberturaレポート ====== 網羅テストを行い、使われていない関数などを発見などに使用する。 ===== Coberturaの導入方法 ===== ==== ソース側での準備 ==== ・Build Settingの下記項目を変更 \\ InstrumentProgram Flow Yes Generate Test Coberage Files Yes ・ビルドを実行するスキームを共有するようにしておく。\\ Xcode→Product→Scheme→Manage Schemeにて指定のSchemeのSharedにチェックを入れておく ==== jenkins側での準備 ==== ・ビルドに「シェルの実行」を追加 \\ ・下記コマンドを書き込む \\ ※ -target、-configuration、-scheme はプロジェクトによって変更すること #シュミレーターで起動してテストを行う #機種ならPlatformなどを変更すれば可能 xcodebuild -target "hitosara" -sdk iphonesimulator -configuration Debug build CONFIGURATION_BUILD_DIR=$WORKSPACE/build xcodebuild test -scheme "hitosara" -sdk iphonesimulator -configuration Debug -destination "platform=iOS Simulator,name=iPhone 6" #テストをして排出されたレポートデータを #gcovに入れてjenkinsで読めるように変更する /usr/local/bin/gcovr --xml -e '.*Tests/' -o build/cobertura_report.xml -r $WORKSPACE ・ビルド後の処理に「Coberturaガバレッジレポートの集計」を追加する。 ・「Cobertura XMLレポートパターン」に上記コマンドで指定したレポート排出場所を指定する。\\ 今回の場合は「build/cobertura_report.xml」を記入する。 ===== 参考URL ===== ・http://qiita.com/shouta_a/items/3333182dfe4ecae7e3ea ====== PMD ====== ===== PMD導入方法 ===== ==== jenkins側での準備 ==== ・ビルドに「シェルの実行」を追加 \\ ・下記コマンドを書き込む \\ ※ -target、-configuration、-scheme はプロジェクトによって変更すること xcodebuild clean xcodebuild -target "hitosara" -sdk iphonesimulator -configuration Debug build CONFIGURATION_BUILD_DIR=$WORKSPACE/build | tee xcodebuild.log /usr/local/oclint-0.8.1/bin/oclint-xcodebuild /usr/local/oclint-0.8.1/bin/oclint-json-compilation-database -- -report-type pmd -o build/oclint.xml ・ビルド後の処理にPMD警告の集計を追加 \\ ・集計するファイルに「**/oclint.xml」を書き込む ===== 参考URL ===== ・http://www.atmarkit.co.jp/ait/articles/1405/23/news031.html