SlideShare a Scribd company logo
1 of 14
Download to read offline
Capistrano 紹介
kawasaki.rb #002
2013/07/24
@yumu19
自己紹介
• 湯村 翼 / @yumu19
• 8月から個人事業主
• Koozyt, Inc. 勤務
• iOSとか、AWSとか、Androidとか、
Ruby on Railsとか
• フルスタックエンジニア 何でも屋
• chezou の同期
Capistranoとは
Ruby 製のデプロイツール
デプロイツールとは
(主に)サーバアプリケーショのデプロイを
自動化・簡素化してくれるツール
$ scp -r aaa/ remote.com:/bbb
$ git pull origin master
操作ミス((((;゚Д゚))))ガクガクブルブル
設定ファイルは(゚Д゚)?
• Pull 型
• デプロイ環境にインストール
• Push 型
• 開発環境にインストール
• デプロイ環境にはsshだけでき
ればよい
Capistrano
http://shusatoo.net/programming/ruby/ruby-beginner-capistrano-deploy/
Capistrano導入
$ gem install capistrano
$ capify .
[add] writing './Capfile'
[add] making directory './config'
[add] writing './config/deploy.rb'
[done] capified!
準備
require “capistrano/ext/multistage”
require “capistrano_colors”
require “railsless-deploy”
require “rubygems”
set :application, “cake2_sample”
set :scm, :git
set :repository, “git@bitbucket.org:ryuzee/cake2_sample.git”
set :branch, “master”
set :deploy_to, “/usr/local/webapp/cake2_sample”
set :deploy_via, :copy
set :use_sudo, true
after “deploy”, “change_permission”
after “deploy”, “git_submodule_update”
after “deploy”, “migrate”
desc “アプリケーションの動作に必要なパーミッションの設定をします”
task :change_permission, roles => :web do
run <<-CMD
chmod -R 777 #{deploy_to}/current/app/tmp
CMD
end
desc “外部モジュールを取得します”
task :git_submodule_update, roles => :web do
run <<-CMD
cd #{deploy_to}/current && git submodule init && git submodule update
CMD
end
desc “データベースのマイグレーションを実行します”
task :migrate, roles => :web do
run <<-CMD
cd #{deploy_to}/current/app && Console/cake Migrations.migration run all
-p Migrations && Console/cake Migrations.migration run all
CMD
end
http://www.ryuzee.com/contents/blog/6119
deploy.rb
デプロイ
$ cap production deploy:setup
$ cap production deploy
簡単!ヽ(=́▽`=)ノ
まとめ
参考ウェブサイト
• capistrano - GitHub | https://github.com/capistrano/capistrano
• Fukuoka.php vol.6でCapistranoについて話しました - Copy/Cut/
Paste/Hatena | http://k1low.hatenablog.com/entry/
2013/03/04/191207
• CakePHP2アプリケーションをCapistranoでデプロイする |
Ryuzee.com | http://www.ryuzee.com/contents/blog/6119
• Ruby初心者のCapistranoデプロイ入門 | 開発メモるアル | http://
shusatoo.net/programming/ruby/ruby-beginner-capistrano-
deploy/

More Related Content

What's hot

Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)
Akio Katayama
 

What's hot (20)

Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 
Terraforming
TerraformingTerraforming
Terraforming
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
 
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
 
SunspotではじめるSolr入門
SunspotではじめるSolr入門SunspotではじめるSolr入門
SunspotではじめるSolr入門
 
Vagrant体験入門
Vagrant体験入門Vagrant体験入門
Vagrant体験入門
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
 
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
EC2に対するcloudwatchのアクション設定がポリシーで使えないときの代替策
 
Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステムRuby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
 
Bundler 2 の胎動
Bundler 2 の胎動Bundler 2 の胎動
Bundler 2 の胎動
 
msgraph-sshpubkey
msgraph-sshpubkeymsgraph-sshpubkey
msgraph-sshpubkey
 
Ruby on Rails on Azure
Ruby on Rails on AzureRuby on Rails on Azure
Ruby on Rails on Azure
 
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) APIRails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
 
Node-RED on SAKURA cloud
Node-RED on SAKURA cloudNode-RED on SAKURA cloud
Node-RED on SAKURA cloud
 
Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
 
バッチではじめてAkkaを使ってみた (refined)
バッチではじめてAkkaを使ってみた (refined)バッチではじめてAkkaを使ってみた (refined)
バッチではじめてAkkaを使ってみた (refined)
 

Viewers also liked

Deploying Rails Applications with Capistrano
Deploying Rails Applications with CapistranoDeploying Rails Applications with Capistrano
Deploying Rails Applications with Capistrano
Almir Mendes
 
Depolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and CapistranoDepolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and Capistrano
libsys
 

Viewers also liked (15)

Deploying Rails Applications with Capistrano
Deploying Rails Applications with CapistranoDeploying Rails Applications with Capistrano
Deploying Rails Applications with Capistrano
 
La Celula
La CelulaLa Celula
La Celula
 
Intermediate Capistrano
Intermediate  CapistranoIntermediate  Capistrano
Intermediate Capistrano
 
Control your deployments with Capistrano
Control your deployments with CapistranoControl your deployments with Capistrano
Control your deployments with Capistrano
 
[Mini Palestra] - Deploy de-apps-php-com-capistrano
[Mini Palestra] - Deploy de-apps-php-com-capistrano[Mini Palestra] - Deploy de-apps-php-com-capistrano
[Mini Palestra] - Deploy de-apps-php-com-capistrano
 
IBM Bluemix DevOps Services のプロジェクトを Eclipse にインポートする ~ IBM Eclipse Tools for...
IBM Bluemix DevOps Services のプロジェクトを Eclipse にインポートする ~ IBM Eclipse Tools for...IBM Bluemix DevOps Services のプロジェクトを Eclipse にインポートする ~ IBM Eclipse Tools for...
IBM Bluemix DevOps Services のプロジェクトを Eclipse にインポートする ~ IBM Eclipse Tools for...
 
Practical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppPractical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails App
 
Deployment Via Capistrano
Deployment Via CapistranoDeployment Via Capistrano
Deployment Via Capistrano
 
Capistrano - Deployment Tool
Capistrano - Deployment ToolCapistrano - Deployment Tool
Capistrano - Deployment Tool
 
Getting Started with Capistrano
Getting Started with CapistranoGetting Started with Capistrano
Getting Started with Capistrano
 
Capistrano - automate all the things
Capistrano - automate all the thingsCapistrano - automate all the things
Capistrano - automate all the things
 
CAPISTRANO
CAPISTRANOCAPISTRANO
CAPISTRANO
 
IBM Bluemix DevOps Services で Javaの Web アプリを開発する
IBM Bluemix DevOps Services で Javaの Web アプリを開発するIBM Bluemix DevOps Services で Javaの Web アプリを開発する
IBM Bluemix DevOps Services で Javaの Web アプリを開発する
 
Depolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and CapistranoDepolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and Capistrano
 
採用LT「まだお祈りデプロイで消耗してるの?」
採用LT「まだお祈りデプロイで消耗してるの?」採用LT「まだお祈りデプロイで消耗してるの?」
採用LT「まだお祈りデプロイで消耗してるの?」
 

Similar to Capistrano紹介 at kawasaki.rb #002 #kwskrb

Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
hiro345
 

Similar to Capistrano紹介 at kawasaki.rb #002 #kwskrb (20)

Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsugアカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
 
フロントエンド制作向け ビルドツールGruntを PHPバックエンド開発で利用する @M_Ishikawa #phpcon2013
フロントエンド制作向け ビルドツールGruntを PHPバックエンド開発で利用する @M_Ishikawa #phpcon2013フロントエンド制作向け ビルドツールGruntを PHPバックエンド開発で利用する @M_Ishikawa #phpcon2013
フロントエンド制作向け ビルドツールGruntを PHPバックエンド開発で利用する @M_Ishikawa #phpcon2013
 
Capistrano in practice - WebCareer
Capistrano in practice - WebCareerCapistrano in practice - WebCareer
Capistrano in practice - WebCareer
 
僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application
 
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
 
AWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツールAWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツール
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコード
 
VYATTA USERS MEETING Spring 2014 - JAZUG
VYATTA USERS MEETING Spring 2014 - JAZUGVYATTA USERS MEETING Spring 2014 - JAZUG
VYATTA USERS MEETING Spring 2014 - JAZUG
 
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
 
クラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタートクラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタート
 
JAMstackは眠らない
JAMstackは眠らないJAMstackは眠らない
JAMstackは眠らない
 
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
 
20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし
 
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成
[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成
[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成
 

More from Tsubasa Yumura

More from Tsubasa Yumura (20)

宇宙データを使った世界同時開催ハッカソン「International Space Apps Challenge」の日本開催
宇宙データを使った世界同時開催ハッカソン「International Space Apps Challenge」の日本開催宇宙データを使った世界同時開催ハッカソン「International Space Apps Challenge」の日本開催
宇宙データを使った世界同時開催ハッカソン「International Space Apps Challenge」の日本開催
 
寝返りブロックくずし #MA11
寝返りブロックくずし #MA11寝返りブロックくずし #MA11
寝返りブロックくずし #MA11
 
寝返りブロック崩し #ABPro2015
寝返りブロック崩し #ABPro2015寝返りブロック崩し #ABPro2015
寝返りブロック崩し #ABPro2015
 
PICALA:プレゼンテーションにおける照明色による 聴講者の感情共有システム
PICALA:プレゼンテーションにおける照明色による 聴講者の感情共有システムPICALA:プレゼンテーションにおける照明色による 聴講者の感情共有システム
PICALA:プレゼンテーションにおける照明色による 聴講者の感情共有システム
 
はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)
はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)
はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)
 
アカデミック以外の場において発表される成果や知見の活用について
アカデミック以外の場において発表される成果や知見の活用についてアカデミック以外の場において発表される成果や知見の活用について
アカデミック以外の場において発表される成果や知見の活用について
 
NASA主催の世界最大級ハッカソンSpaceAppsを運営した話 #yapcasia
NASA主催の世界最大級ハッカソンSpaceAppsを運営した話 #yapcasiaNASA主催の世界最大級ハッカソンSpaceAppsを運営した話 #yapcasia
NASA主催の世界最大級ハッカソンSpaceAppsを運営した話 #yapcasia
 
飯テロ金沢
飯テロ金沢飯テロ金沢
飯テロ金沢
 
Are You Still Exhausted in Tokyo?
Are You Still Exhausted in Tokyo?Are You Still Exhausted in Tokyo?
Are You Still Exhausted in Tokyo?
 
おうちハックAdvent Calendar
おうちハックAdvent CalendarおうちハックAdvent Calendar
おうちハックAdvent Calendar
 
野生の研究について
野生の研究について野生の研究について
野生の研究について
 
My Cross the Border #kana01
My Cross the Border #kana01My Cross the Border #kana01
My Cross the Border #kana01
 
THETAで撮影した写真を球体ディスプレイに映してみた #thetafan
THETAで撮影した写真を球体ディスプレイに映してみた #thetafanTHETAで撮影した写真を球体ディスプレイに映してみた #thetafan
THETAで撮影した写真を球体ディスプレイに映してみた #thetafan
 
ABPro2014
ABPro2014ABPro2014
ABPro2014
 
Smile Controller #shackers
Smile Controller #shackersSmile Controller #shackers
Smile Controller #shackers
 
シリコンキーボードで寝返りセンサーつくった #おうちハック
シリコンキーボードで寝返りセンサーつくった #おうちハックシリコンキーボードで寝返りセンサーつくった #おうちハック
シリコンキーボードで寝返りセンサーつくった #おうちハック
 
Pulane
PulanePulane
Pulane
 
いかにしてMakerになったか 品モノラボ #9
いかにしてMakerになったか 品モノラボ #9 いかにしてMakerになったか 品モノラボ #9
いかにしてMakerになったか 品モノラボ #9
 
品モノラボ #9 MFT2014出展ネタ出し&バンド結成ワークショップ
品モノラボ #9 MFT2014出展ネタ出し&バンド結成ワークショップ品モノラボ #9 MFT2014出展ネタ出し&バンド結成ワークショップ
品モノラボ #9 MFT2014出展ネタ出し&バンド結成ワークショップ
 
宇宙から地球を眺めるディスプレイ #tmcn
宇宙から地球を眺めるディスプレイ #tmcn宇宙から地球を眺めるディスプレイ #tmcn
宇宙から地球を眺めるディスプレイ #tmcn
 

Capistrano紹介 at kawasaki.rb #002 #kwskrb

  • 2. 自己紹介 • 湯村 翼 / @yumu19 • 8月から個人事業主 • Koozyt, Inc. 勤務 • iOSとか、AWSとか、Androidとか、 Ruby on Railsとか • フルスタックエンジニア 何でも屋 • chezou の同期
  • 6. (主に)サーバアプリケーショのデプロイを 自動化・簡素化してくれるツール $ scp -r aaa/ remote.com:/bbb $ git pull origin master 操作ミス((((;゚Д゚))))ガクガクブルブル 設定ファイルは(゚Д゚)?
  • 7. • Pull 型 • デプロイ環境にインストール • Push 型 • 開発環境にインストール • デプロイ環境にはsshだけでき ればよい Capistrano
  • 10. $ gem install capistrano $ capify . [add] writing './Capfile' [add] making directory './config' [add] writing './config/deploy.rb' [done] capified! 準備
  • 11. require “capistrano/ext/multistage” require “capistrano_colors” require “railsless-deploy” require “rubygems” set :application, “cake2_sample” set :scm, :git set :repository, “git@bitbucket.org:ryuzee/cake2_sample.git” set :branch, “master” set :deploy_to, “/usr/local/webapp/cake2_sample” set :deploy_via, :copy set :use_sudo, true after “deploy”, “change_permission” after “deploy”, “git_submodule_update” after “deploy”, “migrate” desc “アプリケーションの動作に必要なパーミッションの設定をします” task :change_permission, roles => :web do run <<-CMD chmod -R 777 #{deploy_to}/current/app/tmp CMD end desc “外部モジュールを取得します” task :git_submodule_update, roles => :web do run <<-CMD cd #{deploy_to}/current && git submodule init && git submodule update CMD end desc “データベースのマイグレーションを実行します” task :migrate, roles => :web do run <<-CMD cd #{deploy_to}/current/app && Console/cake Migrations.migration run all -p Migrations && Console/cake Migrations.migration run all CMD end http://www.ryuzee.com/contents/blog/6119 deploy.rb
  • 12. デプロイ $ cap production deploy:setup $ cap production deploy 簡単!ヽ(=́▽`=)ノ
  • 14. 参考ウェブサイト • capistrano - GitHub | https://github.com/capistrano/capistrano • Fukuoka.php vol.6でCapistranoについて話しました - Copy/Cut/ Paste/Hatena | http://k1low.hatenablog.com/entry/ 2013/03/04/191207 • CakePHP2アプリケーションをCapistranoでデプロイする | Ryuzee.com | http://www.ryuzee.com/contents/blog/6119 • Ruby初心者のCapistranoデプロイ入門 | 開発メモるアル | http:// shusatoo.net/programming/ruby/ruby-beginner-capistrano- deploy/