SlideShare a Scribd company logo
LL言語でもHudsonを使お
      う!
      2010/02/25
   研究開発部 佐々木健一



    Copyright 2010 KLab Inc. All rights reserved.
                                                    1
自己紹介




Copyright 2010 KLab Inc. All rights reserved.
                                                2
自己紹介

• 名前
  – 佐々木健一
• 沿革
  – ~2009年8月
    • プロジェクトマネジメント部に在籍
    • 自社向け携帯サイト開発フレームワーク作成(Java)
    • Hudsonをコツコツ使う
  – 2009年9月~
    • マネジメントよりモノづくりが好きで現部署へ
    • LL言語にもCIの必要性を感じつつ今へ至る
• 技術
  – 大昔はC,C++
  – 今はJavaな人です。
  – PythonやRuby、Haskell、Scalaをかじった


               Copyright 2010 KLab Inc. All rights reserved.
                                                               3
Hudson(CIサーバ)に対する誤解


 • Java専用CIサーバ?
  –Java界隈では話題
  –LL言語には使えないのでは
 • インストール面倒?
  – JavaVMのインストール
  – Tomcatのインストール
  – XMLとの戦い
  – ああ、ヤダヤダ

          Copyright 2010 KLab Inc. All rights reserved.
                                                          4
CI (Continuous Integration)サーバ?

 • 携帯サイト展開後不具合出しは大変
    – 結合してから判明する不具合もある
    – 切羽詰ってるし
 • 問題は早期に検出したほうがよい
    – しかも手間なく
    – 小人さんが自動でやってくれるとうれしいな
      あ
 • そんな小人さん
    – Continuous Integration (継続結合)サーバ

               Copyright 2010 KLab Inc. All rights reserved.
                                                               5
Hudsonとは
 Webアプリ
   です




                                                              複数ジョブ
               ジョブの状況をお天                                      を登録でき
                気アイコンで表示                                        る


                                        ジョブを自動的に実施して結
                                           果を残してくれる
   Hudson先生
              Copyright 2010 KLab Inc. All rights reserved.
                                                                      6
Hudsonのインストールは簡単だ




    Copyright 2010 KLab Inc. All rights reserved.
                                                    7
インストールを簡単にする工夫が

• TomcatとかServletコンテナ不要
  – ファイルはhudson.warひとつだけ
  – java -jar hudson.war で起動できる
    • Winstoneという超小型Servlet Container内包
  – Tomcatに組み込むことも可能
• 各種OS向けPackageが用意されている
  – 佐々木はdebian lennyで使ってみました




            Copyright 2010 KLab Inc. All rights reserved.
                                                            8
Windows

 • JNLP(Java WebStart)経由で動かせる
   – http://wiki.hudson-
     ci.org/display/HUDSON/Installing+Hudson+as
     +a+Windows+service
 • Windows Serviceとして登録




              Copyright 2010 KLab Inc. All rights reserved.
                                                              9
Debian GNU/Linux (lenny)

 • debianパッケージとして提供されてる

 • Hudson配布元を追加
 # wget -O - http://hudson-ci.org/debian/hudson-ci.org.key | sudo apt-key add -
 # vi /etc/apt/sources.list
 deb http://hudson-ci.org/debian binary/


 • インストール
 # apt-get update
 # aptiude install openjdk-6-jdk
 # aptitude install hudson



                          Copyright 2010 KLab Inc. All rights reserved.
                                                                                  10
PHP継続プロファイリング環境構築




     Copyright 2010 KLab Inc. All rights reserved.
                                                     11
HudsonはJava専用ではない

 • 確かにHudsonはjavaで書かれている
  – shellスクリプト呼べる
  – LL言語用Pluginもある
  – 使う上でJavaの知識必須ではない
    • HudsonのPlugin開発にはJavaの知識必要
 • PHP環境向けにセットアップ
  – Shellスクリプト呼べるのでPHPでも問題ない
  – 継続プロファイリング環境を構築してみた



           Copyright 2010 KLab Inc. All rights reserved.
                                                           12
継続プロファイリング環境とは

•       開発中からプロファイリングを行う
    •   単体テストと同じ考えで
    •   継続して行う
    •   回帰的に行う
    •   結果を時系列に可視化
•       意義
    •   性能問題の早期発見
    •   問題の可視化はモチベーションあがる


             Copyright 2010 KLab Inc. All rights reserved.
                                                             13
継続プロファイリング環境 - 構成要素

•   Hudson
    – 今回の主役
•   Bazaar
    – 弊社で使用中の分散SCM (git とか Mercurial
      の仲間)
•   XDEBUG
    – PHP拡張。プロファイリングやコードカバ
      レージを可能にする。
•   webgrind
    – プロファイル結果web可視化ツール

               Copyright 2010 KLab Inc. All rights reserved.
                                                               14
継続プロファイリング環境 - 構成要素




                                                         http://hudson-srv/webgrind
     bzr push
                               開発者                                    自動チェックアウ
                                                                      ト&
                                                                      デブロイ


                http://scm-svr/~sasaki-k/bzr-repo/


                    ソースリポジトリを監視

  scm-svr                                                          hudson-srv
                   Copyright 2010 KLab Inc. All rights reserved.
                                                                                      15
構築手順(1/4) on Debian GNU/Linux (lenny)

 • PHP / Xdebug拡張

# aptitude install php5-dev
# aptitude install php5-mysql
# pecl install xdebug

 • ”You shuld add “extension=xdebug.so” to php.ini” と出
   力されるが無視
     – 間違いらしいので注意(Xdebug本家サイトより)
 • 正しくは
     – zend_extension=“xdebug.soへのフルパス”
     – /etc/php5/apache2/conf.d/xdebug.iniへ記述
 • 有効にするには
     – xdebug.ini へ xdebug.profiler_enable = 1 を追記



                         Copyright 2010 KLab Inc. All rights reserved.
                                                                         16
構築手順(2/4) on Debian GNU/Linux (lenny)

 • bazaar
     – CVS、Subversion、gitでもOK
     – debianで配布されているものは古い
     – pipで取得 (pip = setuptoolsの後継)

  # aptitude install python-dev
  # aptitude install libroot-python-dev
  # wget http://peak.telecommunity.com/dist/ez_setup.py
  # python ez_setup.py
  # easy_install pip
  # pip install bzr




                        Copyright 2010 KLab Inc. All rights reserved.
                                                                        17
構築手順(3/4) on Debian GNU/Linux (lenny)

 • webgrind
    – Xdebugが出力するcachegrind.outの可視化
    – PHPで記述
    – http://code.google.com/p/webgrind/ より取得
         • DocumentRootの適当な場所へ配置
                                                                       webgrind自身が
                                                                       プロファイリング
                                                                       されないように
  # cat .htaccess
  php_flag xdebug.profiler_enable 0




                       Copyright 2010 KLab Inc. All rights reserved.
                                                                                     18
構築手順(4/4) on Debian GNU/Linux (lenny)

 • Hudsonから Bazaarコマンドを呼び出すた
   め
    – Hudson Bazaar plugin




                                               必要なpluginにチェック入れて
                                               「インストールボタンクリッ
                                                        ク」
               Copyright 2010 KLab Inc. All rights reserved.
                                                                   19
demo

 • パフォーマンス問題コードを用意
 • 解消されるまでを確認




       Copyright 2010 KLab Inc. All rights reserved.
                                                       20
webgrind




           これがボトルネックになって
              いることがわかる                           関数単独で要
                                                  したコスト

                                                                関数呼び出し先も
                                                                含んで要したコス
                                                                   ト
                Copyright 2010 KLab Inc. All rights reserved.
                                                                       21
まとめ

• HudsonはJava以外でも使える
• Hudson自体のインストールは簡単
  – PHP環境の方が大変
• CIをLL言語にも導入してソースの健康維
  持を図りましょう


      やらなきゃ☆Hudson!

        Copyright 2010 KLab Inc. All rights reserved.
                                                        22
参考資料(1/2)

 • Hudson
   – http://hudson-ci.org/
 • Hudson Debian packages
   – http://hudson-ci.org/debian/
 • Installing Hudson
   – http://wiki.hudson-
     ci.org/display/HUDSON/Installing+Hudson
 • HudsonでPHPのユニットテスト
   – http://d.hatena.ne.jp/ssogabe/20081102/1225
     642743

               Copyright 2010 KLab Inc. All rights reserved.
                                                               23
参考資料(2/2)

 • Xdebug
   – http://xdebug.org/index.php
 • WebGrind
   – http://code.google.com/p/webgrind/
 • Profiling PHP with Xdebug and Webgrind
   – http://www.chrisabernethy.com/php-profiling-
     xdebug-webgrind/




               Copyright 2010 KLab Inc. All rights reserved.
                                                               24
ご静聴ありがとうございました

                            質問た~~~いむ




   Copyright 2010 KLab Inc. All rights reserved.
                                                   25

More Related Content

What's hot

OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
ロフト くん
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCI
Yosuke Mizutani
 
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Masahito Zembutsu
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
アシアル株式会社
 
自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版
Kazuto Kusama
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
 
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
pyar6329
 
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
Uchio Kondo
 
Ansible+Docker
Ansible+DockerAnsible+Docker
Ansible+Docker
正太 佐久本
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
 
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorpマイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
Masahito Zembutsu
 
Reading NATS
Reading NATSReading NATS
Reading NATS
Katsunori Kawaguchi
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
maebashi
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundry
i_yudai
 
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
cyberblack28 Ichikawa
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
Shuji Yamada
 

What's hot (20)

OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCI
 
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
 
ProjectAtomic-and-geard
ProjectAtomic-and-geardProjectAtomic-and-geard
ProjectAtomic-and-geard
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
 
自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
 
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
 
Ansible+Docker
Ansible+DockerAnsible+Docker
Ansible+Docker
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
 
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorpマイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundry
 
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
 

Similar to LL言語でもHudsonを使おう!

Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
 
Yesod on Heroku
Yesod on HerokuYesod on Heroku
Yesod on Heroku
Takahiro Himura
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Shogo Kawahara
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
Taisuke Yamada
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
Tsuyoshi Maeda
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
decode2016
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
ssuserdad311
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用Abe Junichiro
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
Naoto TAKAHASHI
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
 

Similar to LL言語でもHudsonを使おう! (20)

Hadoop on LXC
Hadoop on LXCHadoop on LXC
Hadoop on LXC
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
Yesod on Heroku
Yesod on HerokuYesod on Heroku
Yesod on Heroku
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
 

More from KLab株式会社

KLabのSI事業について
KLabのSI事業についてKLabのSI事業について
KLabのSI事業について
KLab株式会社
 
KLab si_case
KLab si_caseKLab si_case
KLab si_case
KLab株式会社
 
KLab si_operation
KLab si_operationKLab si_operation
KLab si_operation
KLab株式会社
 
アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版)
 アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版) アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版)
アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版)KLab株式会社
 
New cheerz slideshare_version
New cheerz slideshare_versionNew cheerz slideshare_version
New cheerz slideshare_versionKLab株式会社
 
大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側
KLab株式会社
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
KLab株式会社
 
KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~
KLab株式会社
 
Dsas周りのお話
Dsas周りのお話Dsas周りのお話
Dsas周りのお話
KLab株式会社
 
Apache2.3 探訪
Apache2.3 探訪Apache2.3 探訪
Apache2.3 探訪
KLab株式会社
 
ベイジアンフィルターによる ユーザー投稿フィルタリングエンジンIshigroid
ベイジアンフィルターによるユーザー投稿フィルタリングエンジンIshigroidベイジアンフィルターによるユーザー投稿フィルタリングエンジンIshigroid
ベイジアンフィルターによる ユーザー投稿フィルタリングエンジンIshigroid
KLab株式会社
 

More from KLab株式会社 (14)

KLabのSI事業について
KLabのSI事業についてKLabのSI事業について
KLabのSI事業について
 
KLab si_case
KLab si_caseKLab si_case
KLab si_case
 
KLab si_operation
KLab si_operationKLab si_operation
KLab si_operation
 
Cheerz presentation110217
Cheerz presentation110217Cheerz presentation110217
Cheerz presentation110217
 
アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版)
 アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版) アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版)
アクセルメール小冊子2010「安定・確実な携帯メール配信マニュアル ~『届かない』『遅延する』『文字化けする』の回避~」(抜粋版)
 
New cheerz slideshare_version
New cheerz slideshare_versionNew cheerz slideshare_version
New cheerz slideshare_version
 
Phpconf2010
Phpconf2010Phpconf2010
Phpconf2010
 
大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
 
KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~
 
Dsas周りのお話
Dsas周りのお話Dsas周りのお話
Dsas周りのお話
 
Bazaar
BazaarBazaar
Bazaar
 
Apache2.3 探訪
Apache2.3 探訪Apache2.3 探訪
Apache2.3 探訪
 
ベイジアンフィルターによる ユーザー投稿フィルタリングエンジンIshigroid
ベイジアンフィルターによるユーザー投稿フィルタリングエンジンIshigroidベイジアンフィルターによるユーザー投稿フィルタリングエンジンIshigroid
ベイジアンフィルターによる ユーザー投稿フィルタリングエンジンIshigroid
 

Recently uploaded

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 

Recently uploaded (15)

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 

LL言語でもHudsonを使おう!

  • 1. LL言語でもHudsonを使お う! 2010/02/25 研究開発部 佐々木健一 Copyright 2010 KLab Inc. All rights reserved. 1
  • 2. 自己紹介 Copyright 2010 KLab Inc. All rights reserved. 2
  • 3. 自己紹介 • 名前 – 佐々木健一 • 沿革 – ~2009年8月 • プロジェクトマネジメント部に在籍 • 自社向け携帯サイト開発フレームワーク作成(Java) • Hudsonをコツコツ使う – 2009年9月~ • マネジメントよりモノづくりが好きで現部署へ • LL言語にもCIの必要性を感じつつ今へ至る • 技術 – 大昔はC,C++ – 今はJavaな人です。 – PythonやRuby、Haskell、Scalaをかじった Copyright 2010 KLab Inc. All rights reserved. 3
  • 4. Hudson(CIサーバ)に対する誤解 • Java専用CIサーバ? –Java界隈では話題 –LL言語には使えないのでは • インストール面倒? – JavaVMのインストール – Tomcatのインストール – XMLとの戦い – ああ、ヤダヤダ Copyright 2010 KLab Inc. All rights reserved. 4
  • 5. CI (Continuous Integration)サーバ? • 携帯サイト展開後不具合出しは大変 – 結合してから判明する不具合もある – 切羽詰ってるし • 問題は早期に検出したほうがよい – しかも手間なく – 小人さんが自動でやってくれるとうれしいな あ • そんな小人さん – Continuous Integration (継続結合)サーバ Copyright 2010 KLab Inc. All rights reserved. 5
  • 6. Hudsonとは Webアプリ です 複数ジョブ ジョブの状況をお天 を登録でき 気アイコンで表示 る ジョブを自動的に実施して結 果を残してくれる Hudson先生 Copyright 2010 KLab Inc. All rights reserved. 6
  • 7. Hudsonのインストールは簡単だ Copyright 2010 KLab Inc. All rights reserved. 7
  • 8. インストールを簡単にする工夫が • TomcatとかServletコンテナ不要 – ファイルはhudson.warひとつだけ – java -jar hudson.war で起動できる • Winstoneという超小型Servlet Container内包 – Tomcatに組み込むことも可能 • 各種OS向けPackageが用意されている – 佐々木はdebian lennyで使ってみました Copyright 2010 KLab Inc. All rights reserved. 8
  • 9. Windows • JNLP(Java WebStart)経由で動かせる – http://wiki.hudson- ci.org/display/HUDSON/Installing+Hudson+as +a+Windows+service • Windows Serviceとして登録 Copyright 2010 KLab Inc. All rights reserved. 9
  • 10. Debian GNU/Linux (lenny) • debianパッケージとして提供されてる • Hudson配布元を追加 # wget -O - http://hudson-ci.org/debian/hudson-ci.org.key | sudo apt-key add - # vi /etc/apt/sources.list deb http://hudson-ci.org/debian binary/ • インストール # apt-get update # aptiude install openjdk-6-jdk # aptitude install hudson Copyright 2010 KLab Inc. All rights reserved. 10
  • 11. PHP継続プロファイリング環境構築 Copyright 2010 KLab Inc. All rights reserved. 11
  • 12. HudsonはJava専用ではない • 確かにHudsonはjavaで書かれている – shellスクリプト呼べる – LL言語用Pluginもある – 使う上でJavaの知識必須ではない • HudsonのPlugin開発にはJavaの知識必要 • PHP環境向けにセットアップ – Shellスクリプト呼べるのでPHPでも問題ない – 継続プロファイリング環境を構築してみた Copyright 2010 KLab Inc. All rights reserved. 12
  • 13. 継続プロファイリング環境とは • 開発中からプロファイリングを行う • 単体テストと同じ考えで • 継続して行う • 回帰的に行う • 結果を時系列に可視化 • 意義 • 性能問題の早期発見 • 問題の可視化はモチベーションあがる Copyright 2010 KLab Inc. All rights reserved. 13
  • 14. 継続プロファイリング環境 - 構成要素 • Hudson – 今回の主役 • Bazaar – 弊社で使用中の分散SCM (git とか Mercurial の仲間) • XDEBUG – PHP拡張。プロファイリングやコードカバ レージを可能にする。 • webgrind – プロファイル結果web可視化ツール Copyright 2010 KLab Inc. All rights reserved. 14
  • 15. 継続プロファイリング環境 - 構成要素 http://hudson-srv/webgrind bzr push 開発者 自動チェックアウ ト& デブロイ http://scm-svr/~sasaki-k/bzr-repo/ ソースリポジトリを監視 scm-svr hudson-srv Copyright 2010 KLab Inc. All rights reserved. 15
  • 16. 構築手順(1/4) on Debian GNU/Linux (lenny) • PHP / Xdebug拡張 # aptitude install php5-dev # aptitude install php5-mysql # pecl install xdebug • ”You shuld add “extension=xdebug.so” to php.ini” と出 力されるが無視 – 間違いらしいので注意(Xdebug本家サイトより) • 正しくは – zend_extension=“xdebug.soへのフルパス” – /etc/php5/apache2/conf.d/xdebug.iniへ記述 • 有効にするには – xdebug.ini へ xdebug.profiler_enable = 1 を追記 Copyright 2010 KLab Inc. All rights reserved. 16
  • 17. 構築手順(2/4) on Debian GNU/Linux (lenny) • bazaar – CVS、Subversion、gitでもOK – debianで配布されているものは古い – pipで取得 (pip = setuptoolsの後継) # aptitude install python-dev # aptitude install libroot-python-dev # wget http://peak.telecommunity.com/dist/ez_setup.py # python ez_setup.py # easy_install pip # pip install bzr Copyright 2010 KLab Inc. All rights reserved. 17
  • 18. 構築手順(3/4) on Debian GNU/Linux (lenny) • webgrind – Xdebugが出力するcachegrind.outの可視化 – PHPで記述 – http://code.google.com/p/webgrind/ より取得 • DocumentRootの適当な場所へ配置 webgrind自身が プロファイリング されないように # cat .htaccess php_flag xdebug.profiler_enable 0 Copyright 2010 KLab Inc. All rights reserved. 18
  • 19. 構築手順(4/4) on Debian GNU/Linux (lenny) • Hudsonから Bazaarコマンドを呼び出すた め – Hudson Bazaar plugin 必要なpluginにチェック入れて 「インストールボタンクリッ ク」 Copyright 2010 KLab Inc. All rights reserved. 19
  • 20. demo • パフォーマンス問題コードを用意 • 解消されるまでを確認 Copyright 2010 KLab Inc. All rights reserved. 20
  • 21. webgrind これがボトルネックになって いることがわかる 関数単独で要 したコスト 関数呼び出し先も 含んで要したコス ト Copyright 2010 KLab Inc. All rights reserved. 21
  • 22. まとめ • HudsonはJava以外でも使える • Hudson自体のインストールは簡単 – PHP環境の方が大変 • CIをLL言語にも導入してソースの健康維 持を図りましょう やらなきゃ☆Hudson! Copyright 2010 KLab Inc. All rights reserved. 22
  • 23. 参考資料(1/2) • Hudson – http://hudson-ci.org/ • Hudson Debian packages – http://hudson-ci.org/debian/ • Installing Hudson – http://wiki.hudson- ci.org/display/HUDSON/Installing+Hudson • HudsonでPHPのユニットテスト – http://d.hatena.ne.jp/ssogabe/20081102/1225 642743 Copyright 2010 KLab Inc. All rights reserved. 23
  • 24. 参考資料(2/2) • Xdebug – http://xdebug.org/index.php • WebGrind – http://code.google.com/p/webgrind/ • Profiling PHP with Xdebug and Webgrind – http://www.chrisabernethy.com/php-profiling- xdebug-webgrind/ Copyright 2010 KLab Inc. All rights reserved. 24
  • 25. ご静聴ありがとうございました 質問た~~~いむ Copyright 2010 KLab Inc. All rights reserved. 25