くりにっき

フルスタックキュアエンジニアです

JenkinsのXFDを作ってました

XFD自体は結構前に作ってたのですがブログのネタに困ったので今更紹介してみます

f:id:sue445:20130129224414j:plain:w320

使い方

ZIPでダウンロード
f:id:sue445:20130129234340p:plain

または

git clone git@github.com:sue445/jenkins_xfd.git

config.js.sample をconfig.js にリネームして設定を入れる

http://sue445.github.com/jenkins_xfd/ で使ってるのだとこんな感じ

var config = {
    job_urls : [
        "http://ci.sue445.net/jenkins/job/azusaar/",
        "http://ci.sue445.net/jenkins/job/azusaar_js/",
        "http://ci.sue445.net/jenkins/job/jubeatplusplus/",
        "http://ci.sue445.net/jenkins/job/kulib/",
        "http://ci.sue445.net/jenkins/job/s3tiger/",
    ],
    reload_seconds : 30
};

あとはファイルをブラウザで開けばXFD完成

特徴

  • ダウンロードして設定を書き換えるだけなのでシンプル
  • 静的ファイルしか使ってないため、githubのgh-pageで動かすこともできる
  • ビルド中は項目が点滅
  • JenkinsのREST APIしか使っていないので別途pluginは不要
    • ググってるとWebSocket pluginを使った事例が多かったのですが、CloudbeesのDEV@FREEだとWebSocket pluginが使えなかったため苦肉の策でREST APIだけで作りました
  • デザインはiPad用に最適化
    • 仕事だと「リポジトリにpush → Jenkinsに通知 → rspec実行 → 手元のiPadでビルド結果を確認」ということをやってます

f:id:sue445:20130129224414j:plain:w320

注意点

  • Jenkinsにログインしない状態で使いたい場合には「グローバルセキュリティの設定」で、匿名ユーザに対して「全体のRead」「ジョブのRead」の権限が必要 f:id:sue445:20130130000541p:plain
  • Cloudbeesだと一度ログインしていないとJenkinsのAPIにアクセスできない *1
  • .gitignore でconfig.js を登録してるため、gh-pagesにpushしたい場合は .gitignore 内の記述を削除してください
  • n番煎じです(´・ω・`)

*1:Jenkinsの認証とCloudbeesの認証は別物