capistrano-colorized-stream

Naotoshi Seo
Naotoshi Seoディー・エヌ・エー
capistrano-colorized-
          streamをリリースしました
                          @sonots




13年1月16日水曜日
自己紹介
              describe Sonots do
               its(:age) { should == 30 }
               its(:hometown} { should == :Yamagata }
               its(:company) { should == :DeNA }

               it_should_behave_like “DeNA employee”
              end

              shared_examples_for “DeNA employee” do
               it { should write(:perl) } #=> fail
              end

                                      ※spec自己紹介ネタ元 take a glance at capybara2.0 by @okitan
13年1月16日水曜日
目次
              • この gem の目的
              • この gem でやってること
              • この gem の使い方
              • demo
              • 今後の展望
13年1月16日水曜日
そのまえに


              • capistrano を知っている人?
              • capistrano を使っている人?


13年1月16日水曜日
capistrano とは
              •   Capistrano was originally designed to simplify and automate
                  deployment of web applications to distributed environments, and
                  originally came bundled with a set of tasks designed for
                  deploying Rails applications.

              •   つまりは、ruby アプリのデプロイツール
                                   $ bundle exec cap deploy

              •   Capistrano is a utility and framework for executing commands in
                  parallel on multiple remote machines, via SSH.

              •   デプロイ以外にも複数ホストにコマンドを並列実
                  行したりするフレームワークといえます
                                  $ bundle exec cap shell
13年1月16日水曜日
やりたいこと




13年1月16日水曜日
cap shell (experimental)
               $ bundle exec cap staging shell
               cap> ls /
               [establishing connection(s) to host1, host2]
                ** [out :: host1] tmp
                ** [out :: host1] usr
                ** [out :: host1] var       色を付ければ
                ** [out :: host2] bin        よさそう?
                ** [out :: host2] boot
                ** [out :: host2] dev

         tailf しても追加の結果が flush されない !
         orz
13年1月16日水曜日
他のを調べた
      •   Parallel ssh (pssh) http://blog.livedoor.jp/hakin/archives/
          51652847.html

      •   Cluster ssh http://blog.livedoor.jp/hakin/archives/51652847.html

      •   Parallel Distributed Shell (pdsh) http://blog.livedoor.jp/hakin/
          archives/51857965.html

      •   csshx http://code.google.com/p/csshx/
      •   複数のリモートホストで並列にコマンドを実行して結果をファイルでダウ
          ンロードするやつ書いた             http://blog.mirakui.com/entry/rop

      ターミナル画面分割して表示するのが主流。
      ちょっと違う。
13年1月16日水曜日
やっぱり cap でやりたい
              • デプロイ直後にサーバのログを垂れ流
               してエラーが出ていないか見たい

              • config/deploy.rb に書いたデプロイ先ホス
               ト名をそのまま使える




13年1月16日水曜日
@niku4i++
              • とか悩んでいたら capistrano には tailf に適
               した stream メソッドがあって昔いじった
               ことを教えてもらう(@niku4i)




              • ちょっといじって gem 化しました!
13年1月16日水曜日
使い方
     •    gem 入れて config/deploy.rb に




     •    cap task 実行



     •    結果(例)




13年1月16日水曜日
demo



13年1月16日水曜日
今後の展望
              •   1つのコマンドを複数サーバで実行して結果を
                  垂れ流せるようにはなった

              •   次は cap shell のように対話式で複数サーバにコ
                  マンドを投げつつ、結果を colorized にしたい

              •   今の cap shell (beta) はコマンドを打つたびにssh
                  コネクションが貼られるのかすごい遅いので、
                  その改善から?

13年1月16日水曜日
まとめ
              •   capistrano に stream メソッドというものがあるこ
                  とを発掘(再発見)しました

              •   stream メソッドを拡張して、行の先頭にホスト
                  名を色付きで追加する capistrano-colorized-stream
                  を作ったので使ってみてね




              •   @niku4i++

13年1月16日水曜日
1 of 14

Recommended

Raspberry Piにdiskless modeのalpine linuxを導入してみる by
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるKenichiro MATOHARA
5.6K views34 slides
ちょっと古いマシンにLinuxを by
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをKenichiro MATOHARA
1.4K views11 slides
F#+Erlangで簡単なシューティングゲームを作ってみている by
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているpocketberserker
2.3K views79 slides
2日間Fabricを触った俺が
 色々解説してみる by
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみるairtoxin Ishii
4.4K views41 slides
Fabricでサーバー管理をDRYにしよう by
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようmax747
10.7K views31 slides
そろそろRStudioの話 by
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話Kazuya Wada
48.7K views36 slides

More Related Content

What's hot

『こなへん』ができるまで ☆リリース直前編☆ by
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆5mingame2
4.1K views43 slides
お手軽並列処理 by
お手軽並列処理お手軽並列処理
お手軽並列処理博文 斉藤
2K views21 slides
Lessfs をかじってみた(小江戸らぐオフな集まり第110回) by
Lessfs をかじってみた(小江戸らぐオフな集まり第110回)Lessfs をかじってみた(小江戸らぐオフな集まり第110回)
Lessfs をかじってみた(小江戸らぐオフな集まり第110回)Kenichiro MATOHARA
943 views9 slides
どこでも動くゲームを作るためのベタープラクティス by
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
5.4K views60 slides
Kansai mrb gr_sakura by
Kansai mrb gr_sakuraKansai mrb gr_sakura
Kansai mrb gr_sakuraKosuga Masakatsu
840 views27 slides
処理概要図&構築手順書1124 by
処理概要図&構築手順書1124処理概要図&構築手順書1124
処理概要図&構築手順書1124Kazuki Miura
1.2K views7 slides

What's hot(20)

『こなへん』ができるまで ☆リリース直前編☆ by 5mingame2
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
5mingame24.1K views
Lessfs をかじってみた(小江戸らぐオフな集まり第110回) by Kenichiro MATOHARA
Lessfs をかじってみた(小江戸らぐオフな集まり第110回)Lessfs をかじってみた(小江戸らぐオフな集まり第110回)
Lessfs をかじってみた(小江戸らぐオフな集まり第110回)
Kenichiro MATOHARA943 views
どこでも動くゲームを作るためのベタープラクティス by 5mingame2
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame25.4K views
処理概要図&構築手順書1124 by Kazuki Miura
処理概要図&構築手順書1124処理概要図&構築手順書1124
処理概要図&構築手順書1124
Kazuki Miura1.2K views
メタメタプログラミングRuby by emasaka
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRuby
emasaka992 views
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12) by parrotstudio
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
parrotstudio824 views
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る by Kenichiro MATOHARA
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
Kenichiro MATOHARA3.7K views
誰得コマンド&オプション35連発 by Yozo SATO
誰得コマンド&オプション35連発誰得コマンド&オプション35連発
誰得コマンド&オプション35連発
Yozo SATO3.7K views
awk v.s. bashどっちが強い?@OSC2011Tokyo by Ryuichi Ueda
awk v.s. bashどっちが強い?@OSC2011Tokyoawk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
Ryuichi Ueda6K views
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual by Takahiro Okumura
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual
Takahiro Okumura3.8K views
GNU awk (gawk) を用いた Apache ログ解析方法 by 博文 斉藤
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
博文 斉藤6.6K views
エンジニアのための痔の話 by Kouhei Maeda
エンジニアのための痔の話エンジニアのための痔の話
エンジニアのための痔の話
Kouhei Maeda1.4K views

Similar to capistrano-colorized-stream

技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2 by
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2Kenichiro MATOHARA
3.2K views37 slides
CPANの依存モジュールをもう少し正しく検出したい by
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいcharsbar
3.3K views90 slides
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話 by
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話Yukihiko SAWANOBORI
5.3K views67 slides
Rustのタスクモデルについて by
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについてzigen
1.9K views49 slides
らくちん Go言語 by
らくちん Go言語らくちん Go言語
らくちん Go言語株式会社YEBIS.XYZ
1.5K views37 slides
恋に落ちるデプロイツール by
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツールtotty jp
5.1K views49 slides

Similar to capistrano-colorized-stream(20)

技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2 by Kenichiro MATOHARA
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
Kenichiro MATOHARA3.2K views
CPANの依存モジュールをもう少し正しく検出したい by charsbar
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
charsbar3.3K views
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話 by Yukihiko SAWANOBORI
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
Yukihiko SAWANOBORI5.3K views
Rustのタスクモデルについて by zigen
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについて
zigen 1.9K views
恋に落ちるデプロイツール by totty jp
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp5.1K views
Rpn and forth 超入門 by Yoshitaka Seo
Rpn and forth 超入門Rpn and forth 超入門
Rpn and forth 超入門
Yoshitaka Seo2.9K views
Lisp tutorial for Pythonista : Day 1 by Ransui Iso
Lisp tutorial for Pythonista : Day 1Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
Ransui Iso1.7K views
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~ by Kei IWASAKI
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Kei IWASAKI2.7K views
コマンドライン使いもLibreOffice by Kiwamu Okabe
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
Kiwamu Okabe3.2K views
Ruby での外部コマンドの実行について by Tomoya Kawanishi
Ruby での外部コマンドの実行についてRuby での外部コマンドの実行について
Ruby での外部コマンドの実行について
Tomoya Kawanishi6.5K views
Sqale の Puppet と Chef (と テスト) by hiboma
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
hiboma5K views
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~ by Preferred Networks
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
Preferred Networks12.8K views
Emscriptenと不思議のダンジョン by 兎 伊藤
Emscriptenと不思議のダンジョンEmscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョン
兎 伊藤2.5K views
Testing in Sinatra by Uchio Kondo
Testing in SinatraTesting in Sinatra
Testing in Sinatra
Uchio Kondo6.3K views

More from Naotoshi Seo

ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜 by
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜Naotoshi Seo
11.8K views31 slides
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話 by
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話Naotoshi Seo
7.5K views18 slides
Mobage を支える Ruby の技術 ~ 複数DB編 ~ by
Mobage を支える Ruby の技術 ~ 複数DB編 ~Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~Naotoshi Seo
23.7K views43 slides
Fluentd Hacking Guide at RubyKaigi 2014 by
Fluentd Hacking Guide at RubyKaigi 2014Fluentd Hacking Guide at RubyKaigi 2014
Fluentd Hacking Guide at RubyKaigi 2014Naotoshi Seo
77.3K views20 slides
InfluxDB の概要 - sonots #tokyoinfluxdb by
InfluxDB の概要 - sonots #tokyoinfluxdbInfluxDB の概要 - sonots #tokyoinfluxdb
InfluxDB の概要 - sonots #tokyoinfluxdbNaotoshi Seo
41.5K views53 slides
Sinatra Pattern 20130415 by
Sinatra Pattern 20130415Sinatra Pattern 20130415
Sinatra Pattern 20130415Naotoshi Seo
17.4K views25 slides

More from Naotoshi Seo(13)

ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜 by Naotoshi Seo
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
Naotoshi Seo11.8K views
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話 by Naotoshi Seo
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
Naotoshi Seo7.5K views
Mobage を支える Ruby の技術 ~ 複数DB編 ~ by Naotoshi Seo
Mobage を支える Ruby の技術 ~ 複数DB編 ~Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Naotoshi Seo23.7K views
Fluentd Hacking Guide at RubyKaigi 2014 by Naotoshi Seo
Fluentd Hacking Guide at RubyKaigi 2014Fluentd Hacking Guide at RubyKaigi 2014
Fluentd Hacking Guide at RubyKaigi 2014
Naotoshi Seo77.3K views
InfluxDB の概要 - sonots #tokyoinfluxdb by Naotoshi Seo
InfluxDB の概要 - sonots #tokyoinfluxdbInfluxDB の概要 - sonots #tokyoinfluxdb
InfluxDB の概要 - sonots #tokyoinfluxdb
Naotoshi Seo41.5K views
Sinatra Pattern 20130415 by Naotoshi Seo
Sinatra Pattern 20130415Sinatra Pattern 20130415
Sinatra Pattern 20130415
Naotoshi Seo17.4K views
Serf という Orchestration ツール #immutableinfra by Naotoshi Seo
Serf という Orchestration ツール #immutableinfraSerf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfra
Naotoshi Seo21.5K views
Shadow Server on Fluentd at Fluentd Casual Talks #3 by Naotoshi Seo
Shadow Server on Fluentd at Fluentd Casual Talks #3Shadow Server on Fluentd at Fluentd Casual Talks #3
Shadow Server on Fluentd at Fluentd Casual Talks #3
Naotoshi Seo7.2K views
Is ruby logger thread(process)-safe? at RubyConf 2013 by Naotoshi Seo
Is ruby logger thread(process)-safe? at RubyConf 2013Is ruby logger thread(process)-safe? at RubyConf 2013
Is ruby logger thread(process)-safe? at RubyConf 2013
Naotoshi Seo9.5K views
Haikanko rubykaigi 20130531 by Naotoshi Seo
Haikanko rubykaigi 20130531Haikanko rubykaigi 20130531
Haikanko rubykaigi 20130531
Naotoshi Seo3.4K views
Fluentdcasual 02-haikanko by Naotoshi Seo
Fluentdcasual 02-haikankoFluentdcasual 02-haikanko
Fluentdcasual 02-haikanko
Naotoshi Seo5.3K views

Recently uploaded

The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
51 views29 slides
SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
301 views15 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
80 views41 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
18 views38 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
104 views42 slides

Recently uploaded(11)

The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.51 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda301 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka80 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
Web3 Career_クレデン資料 .pdf by nanamatsuo
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdf
nanamatsuo16 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4287 views
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views

capistrano-colorized-stream

  • 1. capistrano-colorized- streamをリリースしました @sonots 13年1月16日水曜日
  • 2. 自己紹介 describe Sonots do its(:age) { should == 30 } its(:hometown} { should == :Yamagata } its(:company) { should == :DeNA } it_should_behave_like “DeNA employee” end shared_examples_for “DeNA employee” do it { should write(:perl) } #=> fail end ※spec自己紹介ネタ元 take a glance at capybara2.0 by @okitan 13年1月16日水曜日
  • 3. 目次 • この gem の目的 • この gem でやってること • この gem の使い方 • demo • 今後の展望 13年1月16日水曜日
  • 4. そのまえに • capistrano を知っている人? • capistrano を使っている人? 13年1月16日水曜日
  • 5. capistrano とは • Capistrano was originally designed to simplify and automate deployment of web applications to distributed environments, and originally came bundled with a set of tasks designed for deploying Rails applications. • つまりは、ruby アプリのデプロイツール $ bundle exec cap deploy • Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH. • デプロイ以外にも複数ホストにコマンドを並列実 行したりするフレームワークといえます $ bundle exec cap shell 13年1月16日水曜日
  • 7. cap shell (experimental) $ bundle exec cap staging shell cap> ls / [establishing connection(s) to host1, host2] ** [out :: host1] tmp ** [out :: host1] usr ** [out :: host1] var 色を付ければ ** [out :: host2] bin よさそう? ** [out :: host2] boot ** [out :: host2] dev tailf しても追加の結果が flush されない ! orz 13年1月16日水曜日
  • 8. 他のを調べた • Parallel ssh (pssh) http://blog.livedoor.jp/hakin/archives/ 51652847.html • Cluster ssh http://blog.livedoor.jp/hakin/archives/51652847.html • Parallel Distributed Shell (pdsh) http://blog.livedoor.jp/hakin/ archives/51857965.html • csshx http://code.google.com/p/csshx/ • 複数のリモートホストで並列にコマンドを実行して結果をファイルでダウ ンロードするやつ書いた http://blog.mirakui.com/entry/rop ターミナル画面分割して表示するのが主流。 ちょっと違う。 13年1月16日水曜日
  • 9. やっぱり cap でやりたい • デプロイ直後にサーバのログを垂れ流 してエラーが出ていないか見たい • config/deploy.rb に書いたデプロイ先ホス ト名をそのまま使える 13年1月16日水曜日
  • 10. @niku4i++ • とか悩んでいたら capistrano には tailf に適 した stream メソッドがあって昔いじった ことを教えてもらう(@niku4i) • ちょっといじって gem 化しました! 13年1月16日水曜日
  • 11. 使い方 • gem 入れて config/deploy.rb に • cap task 実行 • 結果(例) 13年1月16日水曜日
  • 13. 今後の展望 • 1つのコマンドを複数サーバで実行して結果を 垂れ流せるようにはなった • 次は cap shell のように対話式で複数サーバにコ マンドを投げつつ、結果を colorized にしたい • 今の cap shell (beta) はコマンドを打つたびにssh コネクションが貼られるのかすごい遅いので、 その改善から? 13年1月16日水曜日
  • 14. まとめ • capistrano に stream メソッドというものがあるこ とを発掘(再発見)しました • stream メソッドを拡張して、行の先頭にホスト 名を色付きで追加する capistrano-colorized-stream を作ったので使ってみてね • @niku4i++ 13年1月16日水曜日