タグ: jenkins

第3回Jenkins勉強会

日時:2011年5月20日
場所:NTTソフトウェア品川本社 太陽生命品川ビル25Fセミナールーム
URL:http://kokucheese.com/event/index/10622/
https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=57182323

Vodpod videos no longer available.

@kohsukekawa 現状報告

Jenkins開発者の動向

  • Hudson開発者の殆どはJenkinsへ
  • コミットの42%はコミュニティから
  • コミットは増加
  • それにともないリリースあたりの変更数が増加
  • プラグインの開発もJenkinsへ

Oracle  HudsonをEclipseへ

  • Jenkinsは想定よりも成功した
  • 合流できるのか?
  • ユーザからの希望は多い
  • 双方の開発者の反応はもっと冷ややか
  • Jenkinsコミュニティの反応
    • 合流の条件を探っているところ
    • Apache移管を望む声も多い

@kohsukekawa RubyによるJenkinsプラグイン開発

野望

  • RubyでもっとJenkinsを使いたい
  • RubyでJenkinsを拡張したい
  • しかもRubyの知識だけでJavaで動いているということは重要ではない

未来

  • ユーザが増える
  • 開発者が増える
  • Rubyにとって魅力的になる
  • Ruby関連プラグインが増える


別言語でのさらなる発展も

実装方針

  • Coreを変更して型がないことに対応
  • Rubyオブジェクトをラッパに包んでJava化
  • ビューはERB
  • まだ未実装
    • Rakeタスク
    • スケルトン・パッケージング・デバッグ
    • ラッパの自動生成

@wadatka Jenkinsと一緒にTracプラグイン開発 – UT/IT自動化のコツ


品質を担保するため、一定以上のテスト密度が必要
→Jenkinsで自動化して効率的に

ゼロ機能リリース(Zero Function Release = ZFR)を実践
→移行の開発進捗がわかり易くなる

チケット、ソースコード管理サーバと、CIサーバは分割
→負荷集中でのチケット・リポジトリへのレスポンス低下を避けるため

どのプラグインでも同じ構成に

各ジョブの構成

  • 単体テストジョブ
    • チェックアウト
    • 単体テストコード
    • 結果の変換
  • デプロイジョブ
    • チェックアウト
    • プラグインインストール
    • Trac再起動
  • Seleniumジョブ
    • チェックアウト
    • Seleniumコード実行
    • 結果出力

@kenchan &@hsbt 「これで君のインテグレーションは――始まりも、終わりもなくなった」~RailsプロジェクトでふつうにJenkins~

社内でのツール史

~2008
CruiseControl.rb
空きマシンを複数プロジェクトで共有
2009~2010
CI戦国時代
空きマシンだけではもたなくなった
2010
Rails3、Bundler
RVMとCIの組み合わせ
MacMiniをCIマシンに
プロジェクトごとにLXC
2011
Jenkins,Big Tuna
LXCからGaneti+Chef

@yamashiro PHP開発でのJenkins

PHPCPD
重複コードの検出
PHPMD
PMDのPHP版
PHPUnitとClover PHP Plugin
UnitTestとカバレッジ情報の表示

こういうのを網羅しているサイトがあるとのこと

@Kirika_K2 Rubyで簡単にRemote Access APIを実行する


Remote Access APIとは…
jenkinsがリモートからの命令を受け実行するための外部インタフェース

gemからhudson-remote-apiを導入
Rubyからジョブのコピーや設定の参照・変更ができる