«前の日記(2013-05-03 Friday) 最新 次の日記(2013-05-08 Wednesday)» 編集

libAlexandrina.so.tDiary


2013-05-07 Tuesday

cron代わりにjenkins

rubyで定期的なスクリプトを実行し、その結果をメールさせる。

というのをさくらのVPSでCentOS上でやっていたのだが、jenkinsさんにやらせたらいいんじゃないかなぁと思いついてやってみた。

全体的なインストールはこんな感じだったhistoryをコピペしただけ。

文字が化けるんです >_<

ビルドログ、コンソール出力、が文字化けて寂しい。jenkinsのシステム設定を参照してみたら、localeやらlangが全然だめぽだったので設定してやる。jenkinsアカウントのロケールを設定してやるのが正しいやり方なのかもしれないけれど

  1. まず Locale plugin をインストールしてjaを設定
  2. 下記の通り設定ファイルをいじる。
sudo vi /etc/sysconfig/jenkins

してJava実行オプションでエンコーディング指定してあげればなんとかなりました。Ubuntu系は/etc/default/jenkinsらしい。

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dfile.encoding=UTF-8"

これを設定する前に、日本語でプロジェクト名作っちゃったらいろいろと問題が発生してメンドイ感じだった。なので初期起動前にこれやって、プラグインいれてja指定は最初にやったほうがいいかも。

標準では失敗したときしかメールこないんです >_<

Jenkins Email Extension Plugin というのをインストールすればできます。めっちゃいろいろ設定できてよさそう。 attach build log で添付メールしたらiPhoneのmailアプリではうまくデコードできないのか文字化けして残念な感じだったので、default contentsに ${BUILD_LOG} と書いてやって、本文に挿入してくれてなんとかなる。