Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Kyosuke MOROHASHI
PDF, PPTX
2,160 views
Capistrano in practice - WebCareer
talked about Capistrano in Rails Summer Festival 2008 by WebCareer
Technology
◦
Read more
8
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 38
2
/ 38
3
/ 38
4
/ 38
5
/ 38
6
/ 38
7
/ 38
8
/ 38
9
/ 38
10
/ 38
11
/ 38
12
/ 38
13
/ 38
14
/ 38
15
/ 38
16
/ 38
17
/ 38
18
/ 38
19
/ 38
20
/ 38
21
/ 38
22
/ 38
23
/ 38
24
/ 38
25
/ 38
26
/ 38
27
/ 38
28
/ 38
29
/ 38
30
/ 38
31
/ 38
32
/ 38
33
/ 38
34
/ 38
35
/ 38
36
/ 38
37
/ 38
38
/ 38
More Related Content
PDF
130207 kyotorb
by
Yuki Shibazaki
PPTX
Capistrano introduction
by
Misa Kondo
PDF
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
by
SmartNews, Inc.
PDF
Rubyを使った分散全文検索ミドルウェア
by
Kouhei Sutou
PPT
Performance and Scalability of Web Service
by
Shinji Tanaka
PPTX
誰にでもできるパフォーマンスチューニング
by
Kiyokazu Kaba
PDF
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
by
Isamu Suzuki
PPTX
Node.jsで使えるファイルDB"NeDB"のススメ
by
Isamu Suzuki
130207 kyotorb
by
Yuki Shibazaki
Capistrano introduction
by
Misa Kondo
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
by
SmartNews, Inc.
Rubyを使った分散全文検索ミドルウェア
by
Kouhei Sutou
Performance and Scalability of Web Service
by
Shinji Tanaka
誰にでもできるパフォーマンスチューニング
by
Kiyokazu Kaba
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
by
Isamu Suzuki
Node.jsで使えるファイルDB"NeDB"のススメ
by
Isamu Suzuki
What's hot
PDF
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
by
Masahiro Nagano
PDF
ZabbixのAPIを使って運用を楽しくする話
by
Masahito Zembutsu
PDF
認証機能で学ぶ Laravel 5 アプリケーション
by
Masashi Shinbara
PDF
Wakame-vdc 開発苦労談
by
Masahito Yoshida
PDF
ウェブアプリケーションのパフォーマンスチューニング
by
Yasuhiro Onishi
PDF
Vagrant で PHP 開発環境を作る ハンズオン
by
Masashi Shinbara
PDF
Ppl
by
Seizan Shimazaki
PDF
Heroku で作る スケーラブルな PHP アプリケーション
by
Masashi Shinbara
PDF
Vagrant で作る PHP 開発環境 [実践編]
by
Masashi Shinbara
PDF
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
by
YASUKAZU NAGATOMI
PDF
Data Engineering at VOYAGE GROUP #jawsdays
by
Kenta Suzuki
PDF
ビッグじゃなくても使えるSpark Streaming
by
chibochibo
PDF
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
by
Masahiro Nagano
PDF
わかってるフレームワーク Laravel
by
Masashi Shinbara
PDF
Vagrant体験入門
by
Masashi Shinbara
PDF
LocalStack
by
chibochibo
PDF
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
by
YASUKAZU NAGATOMI
PDF
Rails初心者レッスン lesson4 2edition
by
Satomi Tsujita
PDF
Terraforming
by
Tomoaki Yahagi
KEY
恐るべきApache, Web勉強会@福岡
by
Aya Komuro
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
by
Masahiro Nagano
ZabbixのAPIを使って運用を楽しくする話
by
Masahito Zembutsu
認証機能で学ぶ Laravel 5 アプリケーション
by
Masashi Shinbara
Wakame-vdc 開発苦労談
by
Masahito Yoshida
ウェブアプリケーションのパフォーマンスチューニング
by
Yasuhiro Onishi
Vagrant で PHP 開発環境を作る ハンズオン
by
Masashi Shinbara
Ppl
by
Seizan Shimazaki
Heroku で作る スケーラブルな PHP アプリケーション
by
Masashi Shinbara
Vagrant で作る PHP 開発環境 [実践編]
by
Masashi Shinbara
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
by
YASUKAZU NAGATOMI
Data Engineering at VOYAGE GROUP #jawsdays
by
Kenta Suzuki
ビッグじゃなくても使えるSpark Streaming
by
chibochibo
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
by
Masahiro Nagano
わかってるフレームワーク Laravel
by
Masashi Shinbara
Vagrant体験入門
by
Masashi Shinbara
LocalStack
by
chibochibo
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
by
YASUKAZU NAGATOMI
Rails初心者レッスン lesson4 2edition
by
Satomi Tsujita
Terraforming
by
Tomoaki Yahagi
恐るべきApache, Web勉強会@福岡
by
Aya Komuro
Viewers also liked
PDF
Rails <form> Chronicle
by
Kyosuke MOROHASHI
PDF
OSC2008 勉強会大集合 Rails勉強会@東京
by
Kyosuke MOROHASHI
KEY
SWID Tag Creation Tool
by
Dj Das
PDF
そうだ勉強会に行こう
by
Kyosuke MOROHASHI
PDF
Rails Tokyo 035 Cucumber
by
Kyosuke MOROHASHI
PDF
Test Context Arrangement Recipebook
by
Kyosuke MOROHASHI
Rails <form> Chronicle
by
Kyosuke MOROHASHI
OSC2008 勉強会大集合 Rails勉強会@東京
by
Kyosuke MOROHASHI
SWID Tag Creation Tool
by
Dj Das
そうだ勉強会に行こう
by
Kyosuke MOROHASHI
Rails Tokyo 035 Cucumber
by
Kyosuke MOROHASHI
Test Context Arrangement Recipebook
by
Kyosuke MOROHASHI
Similar to Capistrano in practice - WebCareer
PDF
恋に落ちるデプロイツール
by
totty jp
PDF
Capistrano
by
Yasuharu Fukuda
PDF
Capistrano紹介 at kawasaki.rb #002 #kwskrb
by
Tsubasa Yumura
PPTX
第7回 初心者向け Ruby on Rails勉強会 in 門前仲町
by
剛 羽根
PDF
Capistranoで自動デプロイ
by
toyoshi
PPTX
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
by
Yukihiko SAWANOBORI
PDF
Mina 20130417
by
Naotoshi Seo
KEY
Itcamp長崎2012 capistrano
by
kumachang_LL
PDF
成長を加速する minne の技術基盤戦略
by
Hiroshi SHIBATA
PDF
capistrano-colorized-stream
by
Naotoshi Seo
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
KEY
Real world rails
by
Jun Yokoyama
PDF
[AWSマイスターシリーズ] AWS Elastic Beanstalk
by
Amazon Web Services Japan
PPTX
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
by
Takeshi Komiya
PDF
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
by
Amazon Web Services Japan
PDF
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
by
Masahiro NAKAYAMA
PPTX
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
PDF
Puppet on AWS
by
Sugawara Genki
PDF
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
by
Toru Miki
PDF
Cinnamon - simple deploy tool
by
Yuki Shibazaki
恋に落ちるデプロイツール
by
totty jp
Capistrano
by
Yasuharu Fukuda
Capistrano紹介 at kawasaki.rb #002 #kwskrb
by
Tsubasa Yumura
第7回 初心者向け Ruby on Rails勉強会 in 門前仲町
by
剛 羽根
Capistranoで自動デプロイ
by
toyoshi
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
by
Yukihiko SAWANOBORI
Mina 20130417
by
Naotoshi Seo
Itcamp長崎2012 capistrano
by
kumachang_LL
成長を加速する minne の技術基盤戦略
by
Hiroshi SHIBATA
capistrano-colorized-stream
by
Naotoshi Seo
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
Real world rails
by
Jun Yokoyama
[AWSマイスターシリーズ] AWS Elastic Beanstalk
by
Amazon Web Services Japan
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
by
Takeshi Komiya
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
by
Amazon Web Services Japan
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
by
Masahiro NAKAYAMA
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
Puppet on AWS
by
Sugawara Genki
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
by
Toru Miki
Cinnamon - simple deploy tool
by
Yuki Shibazaki
More from Kyosuke MOROHASHI
PDF
Introduction HTTP via cURL
by
Kyosuke MOROHASHI
PDF
Ruby ecosystem applied to agile project
by
Kyosuke MOROHASHI
PDF
Begin cucumber-in-real-world
by
Kyosuke MOROHASHI
PDF
Cucumber in Practice(en)
by
Kyosuke MOROHASHI
PDF
Rails testing environment, 2009 fall
by
Kyosuke MOROHASHI
PDF
TDD frameworks let me dream "Project Specific Language"
by
Kyosuke MOROHASHI
PDF
named_scope more detail - WebCareer
by
Kyosuke MOROHASHI
PDF
named_scope more detail
by
Kyosuke MOROHASHI
Introduction HTTP via cURL
by
Kyosuke MOROHASHI
Ruby ecosystem applied to agile project
by
Kyosuke MOROHASHI
Begin cucumber-in-real-world
by
Kyosuke MOROHASHI
Cucumber in Practice(en)
by
Kyosuke MOROHASHI
Rails testing environment, 2009 fall
by
Kyosuke MOROHASHI
TDD frameworks let me dream "Project Specific Language"
by
Kyosuke MOROHASHI
named_scope more detail - WebCareer
by
Kyosuke MOROHASHI
named_scope more detail
by
Kyosuke MOROHASHI
Capistrano in practice - WebCareer
1.
現場で Capistrano を 使ってデプロイする
(株)永和システムマネジメント ¦¦ Rails勉強会@東京 諸橋 恭介 (もろはし きょうすけ) k-morohashi@esm.co.jp (work) moronatural@gmail.com (private)
2.
まとめ •Railsアプリのデプロイには Capistranoが便利 •設定をしたり、環境を作ったりす るだけの価値がある •制約も多いが乗り越える方法もい
ろいろ用意されている
3.
Capistranoってなに? • Rubyで書かれたデプロイ ツール •Railsのデプロイにも最適
4.
アジャイルなプロジェクトでは デプロイを重視する •顧客/マネージャへの進捗報告
としてのデモ • 頻繁なデモでフィードバックを得る • 本リリース直前の環境リスクを 低減
5.
デプロイに必要なこと •サービスの一時停止 •アプリケーションの入換 •古いバージョンの退避 •DBスキーマの更新 •サービスの再起動
などなど
6.
よくあるデプロイ手順書 •
コマンドXXXでアプリケーションを停止する。 • 古いバージョンを_(日付YYYYMMDD)にリネームする。 • DBチームからの作業指示書に従い、mysqlコマンドを実行し DB上で作業する。 • レポジトリから最新のソースコードを取得し、圧縮する。 • FTPで圧縮したソースコードを転送、展開する。 • コマンドXXXで起動する。
7.
デプロイは難しい •いつの間にか手順書が古くなる •手作業のオペレーションミス • 担当者のスキルに依存 デプロイの頻度が下がる
8.
手作業の デプロイは難しい •いつの間にか手順書が古くなる •手作業のオペレーションミス • 担当者のスキルに依存
デプロイの頻度が下がる
9.
Capistranoを使うと •デプロイを • 自動化して
• 速くかつ簡単に • できるようになります。
10.
デプロイの自動化 •誰でもデプロイできる • 煩雑な手順もミスなく •手動作業にはオペレーションミス がつきもの
11.
設定ファイルこそが
動く手順書 • 記述性の高いRubyを使った 動作する手順書 • Capistrano設定ファイル という オープンなフォーマットの手順書
12.
効能 •自動化によって速く簡単になれば 繰り返しデプロイできる
cap前 cap後 業務システム A 1時間 10分 業務システム B 半日 5分 (開発中・テスト環境) 1時間 B2Cサービス(稼働中) 1日 (確認込み)
13.
設定も簡単 •Capistranoは設定も簡単
• Railsと同じように 設定よりも規約 • レールに乗れば6行でデプロイできる set :application, "myapp" set :repository, "http://example.com/svn/myapp" role :web, "web.example.com" role :app, "app.example.com" role :db, "db.example.com"
14.
Ruby on Rails
15.
Deployment
on Capistrano
16.
Capistranoの
レールに乗るために • アプリケーションは /u/apps に配置すること • 作業ユーザとして"app"というユーザがいること • 各サーバにsshでログインできること • 各サーバからレポジトリにアクセスできること • sshでログインしたユーザがサーバ上のファイルの作成/削除できること • などなど ほとんどは設定で変えられるが、 実プロジェクトに適用するのは難しいことも
17.
Capistranoの基本的な設定
Recipe 177 (p.515) Capistranoを設定する Recipe 178 (p.519) Capistranoでデプロイ する http://amazon.jp/gp/product/4797336625
18.
今日の話 現場でCapistranoを使う ノウハウを紹介します •
どんなプロジェクトでもCapistranoを使える ようになるわけではありません。 • もともとCapistranoのレールに乗って環境を 作ることをお進めします
19.
お品書き •設定ファイルからパスワードを 追い出す • 対話実行環境の作り方 •
対話実行を遅延させる •Capistranoの歩き方を知る
20.
設定ファイルから パスワードを追い出す
21.
config/deploy.rbに あ り が ち な こ と • Subversionのパスワードを設定したい •
scm_password 変数で設定できる • でもconfig/deploy.rbに書かなきゃいけない • 設定を「対話的に」設定したい • などなど
22.
config/deploy.rbは
Rubyスクリプト • そこで $stdin.gets ですよ!! print “SCM Password : ” set :scm_password, $stdin.gets.strip $ cap deploy SCM Password : dank...
23.
Capistranoのプロンプトは エコーバックされないのに •
Capistranoが使っているメソッドを呼べばOK set :scm_password, Capistrano::CLI.password_prompt(“SCM Password : ”) $ cap deploy SCM Password : (エコーバックされない)
24.
Capistrano::CLI # パスワードなど、エコーバックされないもの Capistrano::CLI.password_prompt(“SCM Password
: ”) # エコーバックしたい場合 Capistrano::CLI.ui.ask("hogehoge : ") # 1文字だけ入れたい場合 [y/n]など Capistrano::CLI.ui.ask("hogehoge : "){|q| q.character = true } 詳しくは Highline のドキュメント参照
25.
対話実行を遅延させる config/deploy.rbは読み込み時に実行される $ cap -T
# タスク一覧を表示 SCM Password : (デプロイは実行しないのに聞かれる) • その変数が必要なときでなく、ファイルが読み込 まれたときに実行されてしまう • 正直うざったい。。。
26.
setにブロックを
渡しましょう set :scm_password do Capistrano::CLI.password_prompt(“SCM Password : ”) end • 設定が初めて参照された時にブロックを評価 • ブロックの返り値を設定として利用 • 2回目以降の呼び出しは、戻り値が利用される
27.
おまけ •デプロイ先ではパスワード付きのコ マンドラインが実行されます。 $
svn --username moro --password foo co http://svn.example.com/svn/myapp • これを防ぐには scm_prefer_prompt 変数を設 定します
28.
実際の例 set :scm_prefer_prompt, true set
:scm_password do Capistrano::CLI.password_prompt(“SCM Password : ”) end • Subversionのパスワードをconfig/deploy.rb から追い出すことができます • コマンドライン履歴などにも残りません • パスワードが必要になったときに、初めて入力待 ちになります
29.
Capistranoの 歩き方を知る
30.
Googleにない •Capistranoは便利ですが、検索 しても情報が少ない
2件
31.
ソースが ドキュメント です
32.
ドキュメントの調べ方 • 21世紀ですがgrepがいいです。
• set や _cset で変数を設定している箇所 • variable や fetch での設定を読んでいる箇所 $ find capistrano-2.4.3/lib/ -name *.rb | xargs grep -w variable
33.
標準のdeploy.rb •
capistrano-2.x.x/lib/capistrano/recipes/deploy.rb • たくさんのデフォルト設定 (Ruby) • 自然言語による説明 (英語) • 実行されるコマンド (sh) task :finalize_update, :except => { :no_release => true } do run "chmod -R g+w #{latest_release}" if fetch(:group_writable, true) (略) run <<-CMD rm -rf #{latest_release}/log #{latest_release}/public/system #{latest_release}/tmp/pids && mkdir -p #{latest_release}/public && mkdir -p #{latest_release}/tmp && ...
34.
デプロイではどんな
コマンドが実行されるの? $ cap -dv deploy • capコマンドを -d (--debug) と -v(--verbose) オプション付きで実行 • 詳細な実行ログ • コマンド実行前に確認
35.
まとめ •Railsアプリのデプロイには Capistranoが便利 •設定をしたり、環境を作ったりす るだけの価値がある •制約も多いが乗り越える方法もい
ろいろ用意されている
36.
アジャイルなプロジェクトでは デプロイを重視する
15 (p.64) 早いうちにデプロイを自 動化する 16 (p.64) 頻繁なデモでフィード バックを得る http://amazon.jp/gp/product/4274066940
37.
Capistranoの基本的な設定
Recipe 177 (p.515) Capistranoを設定する Recipe 178 (p.519) Capistranoでデプロイ する http://amazon.jp/gp/product/4797336625
38.
ご清聴 ありがとう ございました
Download