SlideShare a Scribd company logo
1 of 46
Jenkins User Conference                        Tokyo, July 29th 2012



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


                      川口耕介 CloudBees, Inc.
                      Jenkinsクリエータ
                                         @kohsukekawa
                                 http://cloudbees.com/




                          #juc2012
                          #juc2012_satta
                          #juc2012_S505
                          #juc2012_S406
Jenkins User Conference   Tokyo, July 29th 2012




  有難うございます!
Jenkins User Conference                                             Tokyo, July 29th 2012




  運営スタッフの皆さん


    中村さん        佐藤さん         久川さん                    さぼてんさん         曽我部さん
                                        玉川さん
    (@ikikko)   (@lino_s)   (@ryomah)               (@cactusman)   (@ssogabe)


  • その他の皆さん
      – 法政大学
      – ボランティアの皆様


                                                  今井さん
                                               (@masanobuimai)
Jenkins User Conference   Tokyo, July 29th 2012

プラチナスポンサー




メディアスポンサー



シルバースポンサー
Jenkins User Conference                                      Tokyo, July 29th 2012




                          http://www.flickr.com/photos/nasamarshall/4256459445/
Jenkins User Conference                                    Tokyo, July 29th 2012




  プラグインの拡大
  600                                                  535
  500


  400

                                                  # of unique plugins
  300


  200


  100                                             new plugins/week
                                 releases/week

    0
   Jan-07   Jan-08   Jan-09   Jan-10     Jan-11        Jan-12
Jenkins User Conference                           Tokyo, July 29th 2012




  チケット数の変移
                                                  14500
  16000

  14000

  12000

  10000                            チケット総数

   8000

   6000

   4000                                   解決済みチケット

   2000

      0
     Jan-07   Jan-08   Jan-09   Jan-10   Jan-11    Jan-12
Jenkins User Conference                                Tokyo, July 29th 2012




   インストール総数
                                                  43000
 45000

 40000

 35000

 30000

 25000

 20000

 15000
                                                 マスターの数
 10000

  5000

     0
    Jan-07   Jan-08   Jan-09   Jan-10   Jan-11    Jan-12
Jenkins User Conference   Tokyo, July 29th 2012
Jenkins User Conference   Tokyo, July 29th 2012




  世界中で使われています
Jenkins User Conference                                Tokyo, July 29th 2012




                          http://www.flickr.com/photos/randar/3879926596/
Jenkins User Conference   Tokyo, July 29th 2012
Jenkins User Conference       Tokyo, July 29th 2012




  他にもフロントエンドでは…
  • フロントエンド周りの現代化
     – Prototype 1.7, YUI 3
     – CSSセレクタなどにネイティブ実装を利用
  • ページロード時間の改善
     – gzip圧縮を全ページでon
     – プラグイン内の画像等のキャッシュの改善
     – ページ表示に要するリクエストを減らす
  • jQuery等ライブラリプラグインの整備
  • JavaScriptモジュール化
Jenkins User Conference   Tokyo, July 29th 2012




  バックエンドの機能拡張
  • マルチ構成プロジェクトの改善
     – #N, #N+1, …の並列ビルド
     – カスタム作業ディレクトリによる構成間の
       ディレクトリ共有
     – 動的に値が変化する軸
     – SCMチェックアウト動作の拡張ポイント化
     – 実行順序/フィルタリング
       の拡張ポイント化
Jenkins User Conference    Tokyo, July 29th 2012




  バックエンドの機能拡張
  • REST APIの改善
     – APIトークン
     – JSONのインデント付き出力
     – 「tree」パラメータによる出力データの選択
  • コマンドラインクライアントの改善
     – 通信路の暗号化
     – SSH公開鍵認証
     – 汎用sshクライアントによるCLI
Jenkins User Conference   Tokyo, July 29th 2012




  それ以外にも色々な改善
  •   Subversion 1.7 サポート
  •   40ヶ国語への地域化
  •   ジョブ名への名前規約の強制モード
  •   ANSI カラーコード対応
  •   コアのより一層のプラグイン化
  •   「ビルド後の処理」の並び替え
  •   Mavenプロジェクトでの任意のビルダ対応
  •   cron文法におけるハッシュのサポート
Jenkins User Conference     Tokyo, July 29th 2012




  Rubyによるプラグイン開発
  • 切り捨てたもの
     – Java, Maven, Jelly
  • ツールによる開発環境の改善
     – コードのリロード
     – スケルトン生成
     – ビルド・リリースのサポート
  • 詳しくは柴田さんのセッションへどうぞ
Jenkins User Conference    Tokyo, July 29th 2012




  プラグイン開発者向けの改善
  • GuiceによるIoCのコアへの取り込み
  • JUnit4によるテストハーネス
  • GroovyによるHTML生成
     – デバッガが使える
     – IDEによるコード補完が使える
  • 拡張ポイントの拡充
  • Gradle, JRebelのサポート
Jenkins User Conference                                  Tokyo, July 29th 2012




                          http://www.flickr.com/photos/sushicam/7211787664/
Jenkins User Conference   Tokyo, July 29th 2012
Jenkins User Conference     Tokyo, July 29th 2012




  BuildHive.cloudbees.com
  • タダで使えます
  • 使ってみて感想を送ってください
Jenkins User Conference                 Tokyo, July 29th 2012




  Jenkins Enterprise by CloudBees
  • サポート+企業向け追加プラグイン
  • 5月に新版をリリースしました
     – アクティブ/スタンバイ方式による高い可用性
     – 検証済みマージ機能
     – アップデートセンターを立てて社内プラグイ
       ンの配布
  • CloudBees Free Enterprise Plugins
  • 詳細はCloudBeesの配布物をどうぞ
Jenkins User Conference   Tokyo, July 29th 2012
Jenkins User Conference               Tokyo, July 29th 2012




  法人格の取得
  • 「Software in the Public Interest」に加盟
     – F/OSSプロジェクトを促進するNPO団体
     – Debian, Drupal, PostgreSQLなど
  • SPI経由で
     – お金、ドメイン名、商標などの資産を持ったり
     – 開発者と知的財産権に関する契約を結んだり
Jenkins User Conference            Tokyo, July 29th 2012




  寄付金集め
  • jenkins-ci.org/donate
  • 目標 $5130 をオーバーする$12000が集ま
    りました!
    – 日本からも多数ご寄付いただきました


                          $12446

                $5130
Jenkins User Conference                  Tokyo, July 29th 2012




  Jenkins CIA プログラム               http://bit.ly/x3OvFT




                          • Jenkinsについてど
                            こかで発表するなら
                            …
                           – Tシャツとステッ
                             カーを送ります
                          • 制覇した町をピン止
                            めした世界地図を
                            作っています

                          • エージェント募集中
Jenkins User Conference                               Tokyo, July 29th 2012




  ちなみにこれが本物




                          CIA旧本部ビルロビー @ バージニア州ラングレー
Jenkins User Conference       Tokyo, July 29th 2012




  暫定役員会
  • SPIにリポートするプロジェクトの意思決
    定機関

  • 自分 (CloudBees)
  • Andrew Bayer (Cloudera)
  • Dean Yu (Yahoo)
Jenkins User Conference          Tokyo, July 29th 2012




  本当の意思決定機関               http://bit.ly/eXTY3I




  • 隔週ミーティング
     – IRC上で開催
     – 議題・参加は誰でも出来ます
     – 議事録もオンラインで見られます
Jenkins User Conference          Tokyo, July 29th 2012




  プロジェクト憲章の制定             http://bit.ly/q5GKhE




  • 不文律の明文化
     – プロジェクトの文化、仕事の仕方など
     – 新しい参加者や企業参加者にわかりやすく
  • 第三者ライブラリの
    ライセンス
  • 参加者の役割
  • 名前の利用に関する
    ガイドライン
  • 優れたプルリクエストの
    送り方
Jenkins User Conference   Tokyo, July 29th 2012




  開発者ライセンス契約 (CLA)
  • プロジェクト憲章の一環でコア開発者向
    けにCLAの提出を義務付け
     – Apacheと同じCLA・同じ仕組み
     – コアに追加されるコードの出自とそのライセ
       ンスを明文化
     – 知的財産権に関わるグレイエリアを小さくし
       て、プロジェクトとユーザーを守ります
Jenkins User Conference                           Tokyo, July 29th 2012




http://www.flickr.com/photos/acmace/4410650624/
Jenkins User Conference     Tokyo, July 29th 2012




  色々な団体のお世話に
  • jenkins-ci.org に必要なサービスを外部委託
  • 歴史的な経緯を踏まえ、一つの企業に多く
    を頼り過ぎないように
Jenkins User Conference                     Tokyo, July 29th 2012




  長期サポート(LTS)リリース
        優良リリースを決める
                                      通常リリース(毎週)




                          長期サポートリリース




    1.424.6          1.447.1    1.447.2   1.460.1



    通常リリースからのバグ修正バックポーティングのみ
Jenkins User Conference                   Tokyo, July 29th 2012




  セキュリティ勧告
  • ウェブアプリ特有のセキュリティ問題が
    Jenkinsにも
  • メーリングリストかRSSフィードで購読
     – http://jenkins-ci.org/advisories


  • 特にインターネット上でJenkinsを走らせ
    ている人向け
     – 社内LANでも無視しないで
Jenkins User Conference                    Tokyo, July 29th 2012




  サーバ管理のOSS化
  • *.jenkins-ci.org のシェルアクセスは特権
     – この権限がある人の数がツールの導入等の障
       壁になっていた
  • 解法:puppet化+オープンソース化
     – http://github.com/jenkinsci/infra-puppet
     – プル・リクエスト経由で誰でも変更を提案で
       きるように
     – 特権ユーザは変更をレビューするだけでよい
Jenkins User Conference                 Tokyo, July 29th 2012




  この他のインフラ改善
  • サーバの監視
      – http://nagios.jenkins-ci.org/
      – Pager Duty
  •   世界各地に9つのミラー
  •   自前DNSサーバ(puppet化済)
  •   Wikiへのキャッシュ導入
  •   サービスの外部委託
      – JFrogによるArtifactoryのSaaS
      – CloudBeesによるJenkinsのSaaS
Jenkins User Conference   Tokyo, July 29th 2012
Jenkins User Conference                  Tokyo, July 29th 2012




  プラグイン開発者を助ける
  • 拡張ポイントの拡充
  • プラグイン開発環境の整備
     –   Wikiの記事の拡充
     –   トレーニング講座を作りたい
     –   サンプルの拡充
     –   ツールにスケルトン生成機能
     –   よくある問題の自動検証
         • HTMLのタグずれ、@Extensionの付け間違い等
  • 日本のユーザーにもっとプラグイン開発をし
    てもらうにはどうしたら?
Jenkins User Conference       Tokyo, July 29th 2012




  スイートスポットの拡大
  • より大規模環境で快適に
     – マスター間の通信経路の導入
        • 例:マスターを超えてジョブをトリガ
     – 遅延読み込みによる起動時間の改善
     – プラグイン向けのデータベース接続レイヤ
  • 複雑なワークフローへの対応
Jenkins User Conference         Tokyo, July 29th 2012




  スイートスポットの拡大
  • 導入を簡単に
     – BuildHiveからプロジェクト作成Wizardをス
       ピンオフ
     – 標準添付のプラグインの見直し
     – プラグインのセットやお勧めの使い方をコ
       ミュニティで共有したい
Jenkins User Conference        Tokyo, July 29th 2012




  増え続けるプラグインへ対応
  • プラグインに関する情報共有
     – レビュー, インストール数, …
  • お勧めのプラグイン
     – データマイニング, 検索
     – ニュースレター
  • 言語・ターゲット向けプラグインパック?
     – iTunes プレイリストのようなイメージ
Jenkins User Conference   Tokyo, July 29th 2012




  計算機を湯水のように使えるように

  • テスト実行の並列化を助けたい
  • 多数の計算機を跨ぐ作業を簡単にしたい
     – 負荷テスト、システムテストなど
  • それらを支える優れた可視化を提供した
    い
Jenkins User Conference   Tokyo, July 29th 2012




  まとめ
  • 色々な取り組みが成果を出しました

  • 今後も色々な取り組みが進んでいきます

  • フィードバックを送ってください
     – よければ開発に参加してください

  • 今日一日を楽しんでください
Jenkins User Conference   Tokyo, July 29th 2012




  本日の会場
  • ここ「さったホール」
  • 5階 505, 4階 406
     – 混雑が予想されるので詰めてお座りください
Jenkins User Conference   Tokyo, July 29th 2012

More Related Content

What's hot

継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
Preferred Networks
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
dcubeio
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
 
Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部
cactusman
 
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Kenichi Kambara
 

What's hot (20)

ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
Ciじゃない方のJenkins
Ciじゃない方のJenkinsCiじゃない方のJenkins
Ciじゃない方のJenkins
 
第六回Jenkins勉強会
第六回Jenkins勉強会第六回Jenkins勉強会
第六回Jenkins勉強会
 
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
 
Startup jenkins!
Startup jenkins!Startup jenkins!
Startup jenkins!
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーションJenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
 
Dev@cloudの実装
Dev@cloudの実装Dev@cloudの実装
Dev@cloudの実装
 
Cibc work kokawa
Cibc work kokawaCibc work kokawa
Cibc work kokawa
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
 
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
 
Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
 
20160421 react勉強会
20160421 react勉強会20160421 react勉強会
20160421 react勉強会
 
Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料
 
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue OceanJenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue Ocean
 
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
 

Similar to Jenkins user conference 東京

成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
Hiroki Kondo
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
Masaki Muranaka
 

Similar to Jenkins user conference 東京 (20)

Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかJavaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのか
 
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェアLinux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
 
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスFree Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
 
XPagesジャンプスタート
XPagesジャンプスタートXPagesジャンプスタート
XPagesジャンプスタート
 
Nulabとawsと私
Nulabとawsと私Nulabとawsと私
Nulabとawsと私
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
OpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR OpsOpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR Ops
 
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
DevOps Conference #1
DevOps Conference #1DevOps Conference #1
DevOps Conference #1
 
AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
 
Odl intro20141029
Odl intro20141029Odl intro20141029
Odl intro20141029
 
Jenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようJenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみよう
 
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
 
osc_tokyo20091030
osc_tokyo20091030osc_tokyo20091030
osc_tokyo20091030
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
Dockerとdev ops
Dockerとdev opsDockerとdev ops
Dockerとdev ops
 

More from Kohsuke Kawaguchi

プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
Kohsuke Kawaguchi
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
Kohsuke Kawaguchi
 

More from Kohsuke Kawaguchi (20)

Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
 
Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyond
 
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build EnvironmentJavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build Environment
 
On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing code
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
 
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: KeynoteJenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: Keynote
 
Jenkins State of union 2013
Jenkins State of union 2013Jenkins State of union 2013
Jenkins State of union 2013
 
How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins community
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkins
 
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San FranciscoJenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San Francisco
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
 
ここ最近のJenkins新機能
ここ最近のJenkins新機能ここ最近のJenkins新機能
ここ最近のJenkins新機能
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
Creating a Developer Community
Creating a Developer CommunityCreating a Developer Community
Creating a Developer Community
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
 
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
 
Current state of Jenkins
Current state of JenkinsCurrent state of Jenkins
Current state of Jenkins
 
Jenkins勉強会第二回
Jenkins勉強会第二回Jenkins勉強会第二回
Jenkins勉強会第二回
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
 

Jenkins user conference 東京

  • 1. Jenkins User Conference Tokyo, July 29th 2012 Jenkins ユーザ・カンファレンス 2012 川口耕介 CloudBees, Inc. Jenkinsクリエータ @kohsukekawa http://cloudbees.com/ #juc2012 #juc2012_satta #juc2012_S505 #juc2012_S406
  • 2. Jenkins User Conference Tokyo, July 29th 2012 有難うございます!
  • 3. Jenkins User Conference Tokyo, July 29th 2012 運営スタッフの皆さん 中村さん 佐藤さん 久川さん さぼてんさん 曽我部さん 玉川さん (@ikikko) (@lino_s) (@ryomah) (@cactusman) (@ssogabe) • その他の皆さん – 法政大学 – ボランティアの皆様 今井さん (@masanobuimai)
  • 4. Jenkins User Conference Tokyo, July 29th 2012 プラチナスポンサー メディアスポンサー シルバースポンサー
  • 5. Jenkins User Conference Tokyo, July 29th 2012 http://www.flickr.com/photos/nasamarshall/4256459445/
  • 6. Jenkins User Conference Tokyo, July 29th 2012 プラグインの拡大 600 535 500 400 # of unique plugins 300 200 100 new plugins/week releases/week 0 Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12
  • 7. Jenkins User Conference Tokyo, July 29th 2012 チケット数の変移 14500 16000 14000 12000 10000 チケット総数 8000 6000 4000 解決済みチケット 2000 0 Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12
  • 8. Jenkins User Conference Tokyo, July 29th 2012 インストール総数 43000 45000 40000 35000 30000 25000 20000 15000 マスターの数 10000 5000 0 Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12
  • 9. Jenkins User Conference Tokyo, July 29th 2012
  • 10. Jenkins User Conference Tokyo, July 29th 2012 世界中で使われています
  • 11. Jenkins User Conference Tokyo, July 29th 2012 http://www.flickr.com/photos/randar/3879926596/
  • 12. Jenkins User Conference Tokyo, July 29th 2012
  • 13. Jenkins User Conference Tokyo, July 29th 2012 他にもフロントエンドでは… • フロントエンド周りの現代化 – Prototype 1.7, YUI 3 – CSSセレクタなどにネイティブ実装を利用 • ページロード時間の改善 – gzip圧縮を全ページでon – プラグイン内の画像等のキャッシュの改善 – ページ表示に要するリクエストを減らす • jQuery等ライブラリプラグインの整備 • JavaScriptモジュール化
  • 14. Jenkins User Conference Tokyo, July 29th 2012 バックエンドの機能拡張 • マルチ構成プロジェクトの改善 – #N, #N+1, …の並列ビルド – カスタム作業ディレクトリによる構成間の ディレクトリ共有 – 動的に値が変化する軸 – SCMチェックアウト動作の拡張ポイント化 – 実行順序/フィルタリング の拡張ポイント化
  • 15. Jenkins User Conference Tokyo, July 29th 2012 バックエンドの機能拡張 • REST APIの改善 – APIトークン – JSONのインデント付き出力 – 「tree」パラメータによる出力データの選択 • コマンドラインクライアントの改善 – 通信路の暗号化 – SSH公開鍵認証 – 汎用sshクライアントによるCLI
  • 16. Jenkins User Conference Tokyo, July 29th 2012 それ以外にも色々な改善 • Subversion 1.7 サポート • 40ヶ国語への地域化 • ジョブ名への名前規約の強制モード • ANSI カラーコード対応 • コアのより一層のプラグイン化 • 「ビルド後の処理」の並び替え • Mavenプロジェクトでの任意のビルダ対応 • cron文法におけるハッシュのサポート
  • 17. Jenkins User Conference Tokyo, July 29th 2012 Rubyによるプラグイン開発 • 切り捨てたもの – Java, Maven, Jelly • ツールによる開発環境の改善 – コードのリロード – スケルトン生成 – ビルド・リリースのサポート • 詳しくは柴田さんのセッションへどうぞ
  • 18. Jenkins User Conference Tokyo, July 29th 2012 プラグイン開発者向けの改善 • GuiceによるIoCのコアへの取り込み • JUnit4によるテストハーネス • GroovyによるHTML生成 – デバッガが使える – IDEによるコード補完が使える • 拡張ポイントの拡充 • Gradle, JRebelのサポート
  • 19. Jenkins User Conference Tokyo, July 29th 2012 http://www.flickr.com/photos/sushicam/7211787664/
  • 20. Jenkins User Conference Tokyo, July 29th 2012
  • 21. Jenkins User Conference Tokyo, July 29th 2012 BuildHive.cloudbees.com • タダで使えます • 使ってみて感想を送ってください
  • 22. Jenkins User Conference Tokyo, July 29th 2012 Jenkins Enterprise by CloudBees • サポート+企業向け追加プラグイン • 5月に新版をリリースしました – アクティブ/スタンバイ方式による高い可用性 – 検証済みマージ機能 – アップデートセンターを立てて社内プラグイ ンの配布 • CloudBees Free Enterprise Plugins • 詳細はCloudBeesの配布物をどうぞ
  • 23. Jenkins User Conference Tokyo, July 29th 2012
  • 24. Jenkins User Conference Tokyo, July 29th 2012 法人格の取得 • 「Software in the Public Interest」に加盟 – F/OSSプロジェクトを促進するNPO団体 – Debian, Drupal, PostgreSQLなど • SPI経由で – お金、ドメイン名、商標などの資産を持ったり – 開発者と知的財産権に関する契約を結んだり
  • 25. Jenkins User Conference Tokyo, July 29th 2012 寄付金集め • jenkins-ci.org/donate • 目標 $5130 をオーバーする$12000が集ま りました! – 日本からも多数ご寄付いただきました $12446 $5130
  • 26. Jenkins User Conference Tokyo, July 29th 2012 Jenkins CIA プログラム http://bit.ly/x3OvFT • Jenkinsについてど こかで発表するなら … – Tシャツとステッ カーを送ります • 制覇した町をピン止 めした世界地図を 作っています • エージェント募集中
  • 27. Jenkins User Conference Tokyo, July 29th 2012 ちなみにこれが本物 CIA旧本部ビルロビー @ バージニア州ラングレー
  • 28. Jenkins User Conference Tokyo, July 29th 2012 暫定役員会 • SPIにリポートするプロジェクトの意思決 定機関 • 自分 (CloudBees) • Andrew Bayer (Cloudera) • Dean Yu (Yahoo)
  • 29. Jenkins User Conference Tokyo, July 29th 2012 本当の意思決定機関 http://bit.ly/eXTY3I • 隔週ミーティング – IRC上で開催 – 議題・参加は誰でも出来ます – 議事録もオンラインで見られます
  • 30. Jenkins User Conference Tokyo, July 29th 2012 プロジェクト憲章の制定 http://bit.ly/q5GKhE • 不文律の明文化 – プロジェクトの文化、仕事の仕方など – 新しい参加者や企業参加者にわかりやすく • 第三者ライブラリの ライセンス • 参加者の役割 • 名前の利用に関する ガイドライン • 優れたプルリクエストの 送り方
  • 31. Jenkins User Conference Tokyo, July 29th 2012 開発者ライセンス契約 (CLA) • プロジェクト憲章の一環でコア開発者向 けにCLAの提出を義務付け – Apacheと同じCLA・同じ仕組み – コアに追加されるコードの出自とそのライセ ンスを明文化 – 知的財産権に関わるグレイエリアを小さくし て、プロジェクトとユーザーを守ります
  • 32. Jenkins User Conference Tokyo, July 29th 2012 http://www.flickr.com/photos/acmace/4410650624/
  • 33. Jenkins User Conference Tokyo, July 29th 2012 色々な団体のお世話に • jenkins-ci.org に必要なサービスを外部委託 • 歴史的な経緯を踏まえ、一つの企業に多く を頼り過ぎないように
  • 34. Jenkins User Conference Tokyo, July 29th 2012 長期サポート(LTS)リリース 優良リリースを決める 通常リリース(毎週) 長期サポートリリース 1.424.6 1.447.1 1.447.2 1.460.1 通常リリースからのバグ修正バックポーティングのみ
  • 35. Jenkins User Conference Tokyo, July 29th 2012 セキュリティ勧告 • ウェブアプリ特有のセキュリティ問題が Jenkinsにも • メーリングリストかRSSフィードで購読 – http://jenkins-ci.org/advisories • 特にインターネット上でJenkinsを走らせ ている人向け – 社内LANでも無視しないで
  • 36. Jenkins User Conference Tokyo, July 29th 2012 サーバ管理のOSS化 • *.jenkins-ci.org のシェルアクセスは特権 – この権限がある人の数がツールの導入等の障 壁になっていた • 解法:puppet化+オープンソース化 – http://github.com/jenkinsci/infra-puppet – プル・リクエスト経由で誰でも変更を提案で きるように – 特権ユーザは変更をレビューするだけでよい
  • 37. Jenkins User Conference Tokyo, July 29th 2012 この他のインフラ改善 • サーバの監視 – http://nagios.jenkins-ci.org/ – Pager Duty • 世界各地に9つのミラー • 自前DNSサーバ(puppet化済) • Wikiへのキャッシュ導入 • サービスの外部委託 – JFrogによるArtifactoryのSaaS – CloudBeesによるJenkinsのSaaS
  • 38. Jenkins User Conference Tokyo, July 29th 2012
  • 39. Jenkins User Conference Tokyo, July 29th 2012 プラグイン開発者を助ける • 拡張ポイントの拡充 • プラグイン開発環境の整備 – Wikiの記事の拡充 – トレーニング講座を作りたい – サンプルの拡充 – ツールにスケルトン生成機能 – よくある問題の自動検証 • HTMLのタグずれ、@Extensionの付け間違い等 • 日本のユーザーにもっとプラグイン開発をし てもらうにはどうしたら?
  • 40. Jenkins User Conference Tokyo, July 29th 2012 スイートスポットの拡大 • より大規模環境で快適に – マスター間の通信経路の導入 • 例:マスターを超えてジョブをトリガ – 遅延読み込みによる起動時間の改善 – プラグイン向けのデータベース接続レイヤ • 複雑なワークフローへの対応
  • 41. Jenkins User Conference Tokyo, July 29th 2012 スイートスポットの拡大 • 導入を簡単に – BuildHiveからプロジェクト作成Wizardをス ピンオフ – 標準添付のプラグインの見直し – プラグインのセットやお勧めの使い方をコ ミュニティで共有したい
  • 42. Jenkins User Conference Tokyo, July 29th 2012 増え続けるプラグインへ対応 • プラグインに関する情報共有 – レビュー, インストール数, … • お勧めのプラグイン – データマイニング, 検索 – ニュースレター • 言語・ターゲット向けプラグインパック? – iTunes プレイリストのようなイメージ
  • 43. Jenkins User Conference Tokyo, July 29th 2012 計算機を湯水のように使えるように • テスト実行の並列化を助けたい • 多数の計算機を跨ぐ作業を簡単にしたい – 負荷テスト、システムテストなど • それらを支える優れた可視化を提供した い
  • 44. Jenkins User Conference Tokyo, July 29th 2012 まとめ • 色々な取り組みが成果を出しました • 今後も色々な取り組みが進んでいきます • フィードバックを送ってください – よければ開発に参加してください • 今日一日を楽しんでください
  • 45. Jenkins User Conference Tokyo, July 29th 2012 本日の会場 • ここ「さったホール」 • 5階 505, 4階 406 – 混雑が予想されるので詰めてお座りください
  • 46. Jenkins User Conference Tokyo, July 29th 2012

Editor's Notes

  1. 当初の予想を遥かに上回る海外のJUCよりダントツに大きい
  2. 大きいところならどこでも全て入っているといっても過言ではない。
  3. Installing plugins without restartSearch in update centerUIBreadcrumbApply buttonContext menu“From this plugin”(?)Intra config page linkReorderable publishers
  4. The ui-changes branchBuildHive