Suche senden
Hochladen
Capistrano in practice - WebCareer
•
8 gefällt mir
•
2,157 views
Kyosuke MOROHASHI
Folgen
talked about Capistrano in Rails Summer Festival 2008 by WebCareer
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 38
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
130207 kyotorb
130207 kyotorb
Yuki Shibazaki
Capistrano introduction
Capistrano introduction
Misa Kondo
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
Kouhei Sutou
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
Isamu Suzuki
Node.jsで使えるファイルDB"NeDB"のススメ
Node.jsで使えるファイルDB"NeDB"のススメ
Isamu Suzuki
Empfohlen
130207 kyotorb
130207 kyotorb
Yuki Shibazaki
Capistrano introduction
Capistrano introduction
Misa Kondo
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
Kouhei Sutou
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
レガシーなアプリにWeb apiを実装してなみだ目になったのでちょっといろいろ教えてください
Isamu Suzuki
Node.jsで使えるファイルDB"NeDB"のススメ
Node.jsで使えるファイルDB"NeDB"のススメ
Isamu Suzuki
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Masahiro Nagano
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Masahito Zembutsu
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
Wakame-vdc 開発苦労談
Wakame-vdc 開発苦労談
Masahito Yoshida
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
Yasuhiro Onishi
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
Ppl
Ppl
Seizan Shimazaki
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
YASUKAZU NAGATOMI
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
Kenta Suzuki
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streaming
chibochibo
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
Vagrant体験入門
Vagrant体験入門
Masashi Shinbara
LocalStack
LocalStack
chibochibo
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
YASUKAZU NAGATOMI
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
Satomi Tsujita
Terraforming
Terraforming
Tomoaki Yahagi
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡
Aya Komuro
Rails <form> Chronicle
Rails <form> Chronicle
Kyosuke MOROHASHI
OSC2008 勉強会大集合 Rails勉強会@東京
OSC2008 勉強会大集合 Rails勉強会@東京
Kyosuke MOROHASHI
Weitere ähnliche Inhalte
Was ist angesagt?
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Masahiro Nagano
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Masahito Zembutsu
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
Wakame-vdc 開発苦労談
Wakame-vdc 開発苦労談
Masahito Yoshida
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
Yasuhiro Onishi
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
Ppl
Ppl
Seizan Shimazaki
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
YASUKAZU NAGATOMI
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
Kenta Suzuki
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streaming
chibochibo
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
Vagrant体験入門
Vagrant体験入門
Masashi Shinbara
LocalStack
LocalStack
chibochibo
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
YASUKAZU NAGATOMI
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
Satomi Tsujita
Terraforming
Terraforming
Tomoaki Yahagi
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡
Aya Komuro
Was ist angesagt?
(20)
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Wakame-vdc 開発苦労談
Wakame-vdc 開発苦労談
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Ppl
Ppl
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streaming
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Vagrant体験入門
Vagrant体験入門
LocalStack
LocalStack
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
Terraforming
Terraforming
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡
Andere mochten auch
Rails <form> Chronicle
Rails <form> Chronicle
Kyosuke MOROHASHI
OSC2008 勉強会大集合 Rails勉強会@東京
OSC2008 勉強会大集合 Rails勉強会@東京
Kyosuke MOROHASHI
SWID Tag Creation Tool
SWID Tag Creation Tool
Dj Das
そうだ勉強会に行こう
そうだ勉強会に行こう
Kyosuke MOROHASHI
Rails Tokyo 035 Cucumber
Rails Tokyo 035 Cucumber
Kyosuke MOROHASHI
Test Context Arrangement Recipebook
Test Context Arrangement Recipebook
Kyosuke MOROHASHI
Andere mochten auch
(6)
Rails <form> Chronicle
Rails <form> Chronicle
OSC2008 勉強会大集合 Rails勉強会@東京
OSC2008 勉強会大集合 Rails勉強会@東京
SWID Tag Creation Tool
SWID Tag Creation Tool
そうだ勉強会に行こう
そうだ勉強会に行こう
Rails Tokyo 035 Cucumber
Rails Tokyo 035 Cucumber
Test Context Arrangement Recipebook
Test Context Arrangement Recipebook
Ähnlich wie Capistrano in practice - WebCareer
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
Capistranoで自動デプロイ
Capistranoで自動デプロイ
toyoshi
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
Haikara
Haikara
jewel12
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
Continuous delivery 6
Continuous delivery 6
ShinyaOzawa
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
Backlogでの Perlのつかいかた
Backlogでの Perlのつかいかた
Ryuzo Yamamoto
Eureka go 2015_12_12
Eureka go 2015_12_12
matsuo kenji
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
charsbar
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
yoshiaki iwanaga
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
Yusuke Suzuki
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
Sotaro Kimura
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
Fabric Essentials
Fabric Essentials
Yoshinari Takaoka
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
Shigeru UCHIYAMA
Ähnlich wie Capistrano in practice - WebCareer
(20)
恋に落ちるデプロイツール
恋に落ちるデプロイツール
Capistranoで自動デプロイ
Capistranoで自動デプロイ
130412 kayac-cinnamon
130412 kayac-cinnamon
Haikara
Haikara
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Continuous delivery 6
Continuous delivery 6
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Backlogでの Perlのつかいかた
Backlogでの Perlのつかいかた
Eureka go 2015_12_12
Eureka go 2015_12_12
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
Fabric Essentials
Fabric Essentials
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
Mehr von Kyosuke MOROHASHI
Introduction HTTP via cURL
Introduction HTTP via cURL
Kyosuke MOROHASHI
Ruby ecosystem applied to agile project
Ruby ecosystem applied to agile project
Kyosuke MOROHASHI
Begin cucumber-in-real-world
Begin cucumber-in-real-world
Kyosuke MOROHASHI
Cucumber in Practice(en)
Cucumber in Practice(en)
Kyosuke MOROHASHI
Rails testing environment, 2009 fall
Rails testing environment, 2009 fall
Kyosuke MOROHASHI
TDD frameworks let me dream "Project Specific Language"
TDD frameworks let me dream "Project Specific Language"
Kyosuke MOROHASHI
named_scope more detail - WebCareer
named_scope more detail - WebCareer
Kyosuke MOROHASHI
named_scope more detail
named_scope more detail
Kyosuke MOROHASHI
Mehr von Kyosuke MOROHASHI
(8)
Introduction HTTP via cURL
Introduction HTTP via cURL
Ruby ecosystem applied to agile project
Ruby ecosystem applied to agile project
Begin cucumber-in-real-world
Begin cucumber-in-real-world
Cucumber in Practice(en)
Cucumber in Practice(en)
Rails testing environment, 2009 fall
Rails testing environment, 2009 fall
TDD frameworks let me dream "Project Specific Language"
TDD frameworks let me dream "Project Specific Language"
named_scope more detail - WebCareer
named_scope more detail - WebCareer
named_scope more detail
named_scope more detail
Kürzlich hochgeladen
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Kürzlich hochgeladen
(12)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
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.
ご清聴 ありがとう ございました
Jetzt herunterladen