45
Jenkins ユーザ・カンファレンス2012 2012/7/29 株式会社アトラクタ 原田騎郎

Jenkins に XFD を追加してみると

Embed Size (px)

DESCRIPTION

Jenkins ユーザーカンファレンス 2012 発表資料

Citation preview

Page 1: Jenkins に XFD を追加してみると

Jenkins  ユーザ・カンファレンス2012    

2012/7/29  株式会社アトラクタ 原田騎郎  

Page 2: Jenkins に XFD を追加してみると

原田 騎郎 Kiro  HARADA

アジャイルコーチドメインモデラーSCMコンサルタント

Twitter:  @haradakiro

認定スクラムプロフェッショナル認定スクラムマスター認定スクラムプロダクトオーナー株式会社アトラクタ  代表取締役

Page 3: Jenkins に XFD を追加してみると
Page 4: Jenkins に XFD を追加してみると
Page 5: Jenkins に XFD を追加してみると
Page 6: Jenkins に XFD を追加してみると

プラチナスポンサー  

メディアスポンサー  

シルバースポンサー  

Page 7: Jenkins に XFD を追加してみると

¡  XFD  ってなに?  ¡  A  Brief  History  of  XFD  

§ あんどん  § ムダ取りの話  §  XFD  

¡  XFD  を作ろう  §  Arduino  を使って  § デモ  

Page 8: Jenkins に XFD を追加してみると

¡  XFD  を入れてみた現場紹介  § アルティネット 西郡さん  § ハウインターナショナル 高橋さん  § スクラッチソフト 川路さん  

¡ 現場の何が変わるか/変わったのか  § 自分でいじれる  XFD  のすすめ  

¡  XFD  のすすめ  ¡  Q&A  

Page 9: Jenkins に XFD を追加してみると

¡  eXtreme  Feedback  Device  

¡ 究極の      フィードバック  デバイス  

Page 10: Jenkins に XFD を追加してみると

¡ 不良や異常が発生したらラインを止める  

¡ 異常状態にみんな気づく  

¡ みんなで直す  

¡ 品質を作り込む  

Page 11: Jenkins に XFD を追加してみると

¡  Jenkins  さんは執事なのでめったに怒らない  

 

Page 12: Jenkins に XFD を追加してみると

¡ 怒らない。  § 本当は怒っているかも

Page 13: Jenkins に XFD を追加してみると

¡ 作り過ぎのムダ  ¡ 手待ちのムダ  ¡ 運搬のムダ  ¡ 加工のムダ  ¡ 在庫のムダ  ¡ 動作のムダ  ¡ 不良をつくるムダ

Page 14: Jenkins に XFD を追加してみると

¡ 不良のあるソフトウエアを作り過ぎる  

§ 価値を減らすものを作る生産性を競う愚かさ

Page 15: Jenkins に XFD を追加してみると

¡ 作り過ぎのムダ  ¡ 不良のムダ  

¡ 不良を作り過ぎるのは究極のムダ  ¡ 不良品を直すな、不良プロセスを直せ

Page 16: Jenkins に XFD を追加してみると

¡ 1週間に一度もビルドが壊れなかったら  

¡ それはよい兆候?  ¡ それとも悪い兆候?  

¡ なぜ?

Page 17: Jenkins に XFD を追加してみると

http://commons.wikimedia.org/wiki/File:1924_Non-­‐Stop_Shuttle_Change_Toyoda_Automatic_Loom,_Type_G_1.jpg

Page 18: Jenkins に XFD を追加してみると

¡ 忙しいときに動かない。  ¡ 本当に必要なときに。  

自働化する!

Page 19: Jenkins に XFD を追加してみると

¡ ラバランプとか  ¡ パトライトとか  ¡ バットマンとか  ¡ ダンボー君とか  

©  by  Patlite  http://www.patlite.co.jp/product/detail.php?i=880

Page 20: Jenkins に XFD を追加してみると

元チーム角谷 芦沢さん作  http://objectclub.jp/community/xfd/

Page 21: Jenkins に XFD を追加してみると

 Websocket  Notifier  Plugin  by  @mzp  http://d.hatena.ne.jp/mzp/20110612/jenkins

Page 22: Jenkins に XFD を追加してみると

¡  PC  がなくても動かしたい  §  開発が佳境に入ると  PC  が重くて動かなかったり  

¡  なるべく安く  

¡  自分で機能を変えられる/改造できる  

¡  自分の道具は自分で修理/手入れをしよう

Page 23: Jenkins に XFD を追加してみると
Page 24: Jenkins に XFD を追加してみると

¡ オープンソースハードウェア  §  AVR  マイコンボード  §  Arduino  言語と統合開発環境  ▪ アセンブラで書かなくても大丈夫  

§ 豊富な入出力と拡張性  ▪  Ethernet  Shield  で  TCP/IP  を喋れる  

§  http://www.arduino.cc/

Page 25: Jenkins に XFD を追加してみると

void  setup()  {                                      //  デジタル13ピンを出力用として初期化      //  13ピンには、LED  が接続されている      pinMode(13,  OUTPUT);          13ピンを出力用にする  }    void  loop()  {      digitalWrite(13,  HIGH);      //  LED  点灯      delay(1000);                               //  1秒ウェイト      digitalWrite(13,  LOW);        //  LED  消灯      delay(1000);                                //    1秒ウェイト  }

Page 26: Jenkins に XFD を追加してみると

¡  Arduino  Uno  ¡  Arduino  Ethernet  Shield  ¡ リレーコントロールキット(KIT-­‐10733)  ¡ キセノンフラッシュランプ  

¡  Jenkins  Remote  API  (JSON)  を叩いて最新のビルド状態を取得  §  UNSTABLE  /  FAILURE  だったらランプ点灯

Page 27: Jenkins に XFD を追加してみると

¡ 出力ピンの一つでリレーを制御  

¡ リレーで   フラッシュの   スイッチをオン

Page 28: Jenkins に XFD を追加してみると

¡ 扱いたい情報のある  URL  に  “/api/”,  “/api/xml”,  “/api/json”  を足してみる。  

¡ 最新のビルド状態を取得  

§  http://example.com/job/projectA/lastCompletedBuild/api/json?tree=result  

§  {“result”:”SUCCESS”}  §  {“result”:”UNSTABLE”}  §  {“result”:”FAILED”}

Page 29: Jenkins に XFD を追加してみると

https://github.com/haradakiro/arduinojenkinsxfd

Ethernet.begin(mac,  ip);  Client  client(server,80);  Serial.begin(9600);    Serial.println("connecting...");    if  (client.connect())  {      Serial.println("connected");      client.println("GET  /job/project/lastCompletedBuild/api/json?tree=result  HTTP/1.1");            client.println();  }  else  {      Serial.println("connection  failed");  }      

Page 30: Jenkins に XFD を追加してみると

¡  Arduino  Ethernet  ¡  Arduino  ユニバーサル基盤(UB-­‐ARD01)  

§  OMRONの小型リレー +  キセノンフラッシュランプ  

§  Aques  Talk  Pico  (ATP3010F4  –  音声合成)  § 小型サーボ  

Page 31: Jenkins に XFD を追加してみると

¡ っf

Page 32: Jenkins に XFD を追加してみると

←4歳

Page 33: Jenkins に XFD を追加してみると

¡  Twitter:  @handazukecafe  ¡  http://handazukecafe.com/

Page 34: Jenkins に XFD を追加してみると

Grove  Starter  Kit  http://www.seeedstudio.com

Page 35: Jenkins に XFD を追加してみると
Page 36: Jenkins に XFD を追加してみると

¡  ARM  CPU  ¡  Linux  が動く  

§  Ruby  も動く  ¡  Ethernet  ついてる  ¡  GPIO  があるので Arduino  と 同様なデバイス接続もできる  

¡ 今年の年明けに注文(確定注文は2ヶ月前)にしたけど、まだ来てない  ;_;

Page 37: Jenkins に XFD を追加してみると

スパゲッティは  ソフトだけじゃないのよ!  

Page 38: Jenkins に XFD を追加してみると
Page 39: Jenkins に XFD を追加してみると

¡  CI/CD  が壊れていることがみんな気になる  

¡ ビルドが遅いのがみんな気になる  ¡ テストが遅いのがみんな気になる  ¡ テストが落ちているのがみんな気になる  

¡  XFD  が壊れていないか気になる  §  XFD  もチームで直す、改造する

Page 40: Jenkins に XFD を追加してみると

¡  ○×な  Web  ページ見れば分かるよ  § 実は見える化できていない  § 見ようとしなくても見えるように  

¡ 確認しなくても分かるようにしましょう。

Page 41: Jenkins に XFD を追加してみると

¡ つくったらぜひシェアしてください  

Have  a  XFD  and    Keep  Mr.  Jenkins  and    

Team  Members  Happy

Page 42: Jenkins に XFD を追加してみると

¡  秋月電子通商  §  http://akizukidenshi.com/  

¡  スイッチサイエンス  §  http://www.switch-­‐science.com/  

¡  ストロベリーリナックス  §  http://strawberry-­‐linux.com/  

¡  マルツパーツ館  §  http://www.marutsu.co.jp/  

¡  共立エレショップ  §  http://eleshop.jp/  

¡  お近くの100円ショップ  

Page 43: Jenkins に XFD を追加してみると
Page 44: Jenkins に XFD を追加してみると
Page 45: Jenkins に XFD を追加してみると

¡  Creative  Commons  (CC  BY-­‐SA  3.0)  ¡ 表示  -­‐  継承  3.0  

¡  http://creativecommons.org/licenses/by-­‐sa/3.0/deed.ja