2011年11月24日木曜日

Mac + Jenkins + C++

MacにJenkinsを入れて,C++で書いたコードを自動的にビルドして色々チェックしてくれる環境を構築してみた.で,色々引っかかったりしたことをメモ.もっと簡単にする方法があるのかもしれない.

インストールそのものはこちら

1. JAVA_HOMEが上手く設定されない
とりあえずシェルスクリプトを実行させようとすると,JAVA_HOMEが上手く設定されていなくて,上手く動かなかったりしたので,シェルスクリプトで無理矢理設定した.
ここで,MacでJAVA_HOMEを設定する場合,どうも特殊な方法があるようで.

export JAVA_HOME=`/usr/libexec/java_home`

バッククォートってことは何かを実行しているのかな.

2. PATHが上手く設定されない
仕方ないのでPATHもシェルスクリプト内でexportすることに.

で,取りあえず入れてみたプラグインが,cppcheck(スタイルチェック),cppncss(サイクロマチック数計測),xUnit (cppunitなどのxUnitの結果をまとめてくれる),doxygen.ここでもまた問題が・・・

3. cppcheckがメモリが確保できない,と文句を言う
Lionを使っているんですが,どうもLLVMベースのgccでビルドすると上手く動かないようで.とりあえず,MacPortsでインストールされてしまった通常版のgccを使ってビルドし直すと上手く動いた.
/opt/local/bin/gcc-apple-4.2 を指定してビルド.

4. プラグインはあくまでも結果をまとめるだけ
どのプラグインにも共通して言えるのは,あくまでも結果をまとめるだけ,ということ.まとめるための結果を出力する部分はこちらでやる必要がある.最初勝手に実行してくれるものと思って何故エラーになる,とか思ってた.

5. 一部の設定は入力が必須
どうも一部の設定は入力していないとエラーになるようで.プラグインの作りがデフォルト値が無かった場合例外投げて無理矢理終わってしまうものがあるらしい.とりあえず適当に値を設定したら動いた.

とりあえずここまで来たら,後は適当にコードを書いていくだけかな.

追記
gitとかも,システムの設定で直接パスを指定しておいて,それを使うようにしておかないと上手く動かなかったり.この辺自動的に設定できないんだろうか.多分,daemonにホームディレクトリを設定して,そこに.bashrcとか持たせたら上手くいくような気がしないでも無い.

0 件のコメント:

コメントを投稿