https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=63930446
2012年7月29日(火) 11:30-17:30
http://connpass.com/event/467/
◯Jenkins基調講演
43000ユーザー
アフリカの南 ハワイでも使われる
汎用sshクライアントにおるCI
◯Rubyによるプラグイン開発(テキサスの人が作った)
・切り捨てたもの
Java、Maven、Jelly
・ツールによる開発環境の改善
コードのリロード
スケルトン生成
ビルド・リリースのサポート
BuildHive
pull requestが来たら間違ってるよとgithubで返信してくれる。
SPI・・Software in th Public Interest
Jenkins CIAプログラム
Andeew (Cloudero)
Bean (Yahoo)
jenkins-ci.org
プラグインを入れないと出来ないのをそろそろ辞めたい。
◯RVN Plugin Rubyによるプラグイン作成
JavaはXMLが・・・
jenkis.rb
構成するプラグイン
1.java-runtime
2.ruby-runtime
3.ruby-tools/cli
4. ~~
gem install jenkins
jpi.rb
ドキュメントがない
depends-onのとこ
gemfileの依存関係を。
jenkinsの依存関係をかく。
ruby runtime
Generate
renvの中でかく。
Jenkins::Tasks::BuildWrapperを継承したRbenvWrapper
rbenv_wrapper/config.erbを作らないといけない。
hamlもかける。
attr_accessor(あとるあくせっさー)
永続的に入れるときにはこれで値を永続的に入れておく。
lancher.execute ビルド状況がコンソールにでる。
jpibuild
hpiファイルを生成
jpiserver
- > pluginを読み込んだJenkinsを起動する
- > "手動テスト"が出来るようになる。
テスト
test-unit or rspec
crubyでしか動かない拡張は使えない
rubygems 使えないのでJavaライブラリで頑張る
rvm-plugin
jenkins-rbenv-plugin
jenkins-hipchat-publisher-plugin
Javaで書いたほうが早いのでは?っていうのがあるのかも?
Javaと密集した処理はJavaで書いたほうがいい。
公開したプラグインをいれたユーザさんはJRubyの環境はいらないのか?
→ いらない。depends onにあるので。
build, kancher, litenerはあるのか?
lancher.execute自体が失敗しても異常終了とならないので、自分で書く必要がある。
◯
Rebuilding the airplane at 10:00
@jenkinsci
Lookout
36%のデプロイが失敗
デプロイメントに68コミット
チームや個人にコミットのマージンにそれぞれの責任を持たせる
テストは遠たが人間のレビュー待ちの状態になる
Git + Gerrit at the same time!
ユニットテストだけでなく、テスト環境でのテストも重要。もちろんJenkinsで。
SleniumとかJazzとかも使って。
OpenStack and the icloud plugin
デプロイメントのスリップ(手動ロールバック?)は3%あまで下手。
フィードバックは早く、そして、イテレーションサイクルは短くなった。
Q.コードレビューがボトルネックになることはないか。
特定の人にコードレビュータスクがかたよってこまることはないか?
A.コードレビューをシニアの人ではなく勉強中の人に分散するなどしている。レビューが集中してしまったら、単に他の人に振るようにする。
Q.実際、プロダクション環境のテストについて。組み込み系でGermitを使ったフローの構築にスキルがあまりなく、苦労している。なにかよいアドバイスは?
A.まずは小ドードレビューツールとしてGErみtを導入する。今日のプロセスがうまく走るまで半年はかかった。同じく、多分すべてがうまくいく状態にいくまで時間はかかる。
自動テストをエミュレータではやってますか?経験的にAndroidは大変。
- > エミュレーターはなく、SoCの組み込み。まず、Germitの導入はしているが、そのウギの段階についてヒントがほしい。
Q. Germitを使う場合(Jenkinsの?)ユーザーは統一しているのか?それとも分けているのか?(ちょっと自信ない)
A. GermitLDAPと連携できる。
◯マルチステージ
テクマトリックス
今井さん
マルチステージ型継続的インテグレーションのすすめ
1.継続的インテグレーションのメリット
開発データの蓄積
アクティビティ、ユーザの解析
2.メリットを享受できていますか?
マルチステージ型
・ソフトウェアの成熟度
どんなプロセスでも段階的に
3. ソフトウェアは
・このように段階的に構成された継続的インテグレーションを次のように呼びます。
マルチステージ型の継続的インテグレーション
4.
マルチステージ型のメリット
マルチステージに入れておく
チーム内に限定する。
◯ AWで実現するSwlwniumの高速術
MARKETING PLATFORM
B to Bの支援
勉強会、カンファレンスのイベントの受付
独自テストツール
Jmetar
- > パフォーマンスのテスト
AppScan
- > セキュリティの自動テスト
価値を生み出さないといけない
Seleniumで落ちまくってた
- > テストケースにデート?を書きまくった
- > ページの準備が出来る前に走るのでコケる。
assertionを繰り返す。
sping assertd
失敗したら繰り返す。
htmlでテストケースはダメだ。
svsn
JavaからJavaScriptを実行できる。だいの?
→最近ならnode.jsは?
エラーで落ちた時にレポートをスクショで。
test8
サーバー側の負荷が高くてテスtがコケる