Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Capistranoで、自動デプロイに挑戦しよう!

1,881 views

Published on

「Ruby / Ruby on Rails ビギナーズ勉強会 第7回」での発表内容です。
アプリケーションのデプロイ自動化ツール「Capistrano」について、解説しています。

■イベントページはこちらです。
https://coedo-rails.doorkeeper.jp/events/27725

=============================================================

「CoEdo.rb」が運営する「Ruby / Ruby on Railsビギナーズ勉強会」Ruby、Ruby on Railsなどで開発したい、触りたいための初心者勉強会&もくもく会です。

開催の連絡は以下の方法で受け取ることができます。

## DoorKeeperグループ
イベント申し込みを受け付けている、DoorKeeper でのグループです。
https://coedo-rails.doorkeeper.jp/

## Facebookグループ
イベント告知や技術情報をお互いにシェアしています。
https://www.facebook.com/groups/rorbeginners/

## Twitterハッシュタグ
ハッシュタグは、 #rubybg です。
Twitterにもイベント、勉強会の情報を流しています。

[★Ustreamでは、勉強会を生中継しています。](http://www.ustream.tv/channel/ruby-ruby-on-rails-%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E3%82%BA%E5%80%B6%E6%A5%BB
D%E9%83%A8)

[★Youtubeでは、ショートセッションを収録しています。](https://www.youtube.com/playlist?list=PL2ojdc4KhtHniIyIUx3AdO621ydzz5zpP)

Published in: Engineering
  • Be the first to comment

Capistranoで、自動デプロイに挑戦しよう!

  1. 1. Ruby / Ruby on Railsビギナーズ倶楽部 Capistranoで、 自動デプロイに挑戦しよう! 2015.09.26
  2. 2. Self-Intoroduction 徳島県出身です (ó `o) 一緒に勉強しましょう( ́ ▽ ` )ノ 勉強会やってます! アプリケーションエンジニア(Rails/LAMP/Java/Oracle) アウトプットを主軸においた、勉強会を運営しています:) Click
  3. 3. 1)Capistranoって何? Today's Agenda 2)Capistranoの構成 3)Capistranoの利用条件 Capistrano3 カピストラーノ 4)Capistranoができること
  4. 4. 1)Capistranoって何? ・オープンソースのツール。 ・アプリケーションのデプロイ自動化ツール。 ・Rubyで書かれていて、RubyGemで  配布されている。 ・Rubyのインストールが必須。 複数のサーバに同じコマンドを 送信できるツール。
  5. 5. 手動でデプロイする場合 ・デプロイ先のソースをバックアップ。 ・メンテナンス画面に切り替える。 ・データベースメンテナンス(マイグレーション) ・ソースを最新に更新。 ・RailsやSinatraを利用している場合は、 bundle installを実行。 ・サーバの再起動。
  6. 6. ・一台へのデプロイも面倒。 ・複数台になると、さらに辛い。 ・人的ミスが発生しやすい。 ・リリース作業が属人化してしまう。 ・気軽にデプロイができない。 手動でデプロイするデメリット
  7. 7. Capistranoを導入するメリット ・コマンド一つで誰でも簡単に  デプロイができる。 ・デプロイ作業が属人化しない。 ・1日に何度もデプロイを行えて、  開発効率が向上する。 Capistranoでデプロイするメリット ・複数台へのデプロイもコマンド一発!
  8. 8. 2)Capistranoの構成 プッシュチェックアウト コマンド clone ( SSH ) clone ( SSH ) Capistranoインストール
  9. 9. 導入から実行までの流れ 1)Gemfileの修正。 2)Capistranoインストール。   bundle install 3)設定関連のファイルを生成。   bundle exec cap install 4)各設定ファイルを修正。 5)デプロイ実行。   bundle exec cap production deploy Capfile config/deploy.rb config/deploy/production.rb lib/capistrano/tasks/xxx.rake
  10. 10. 3)Capistranoの利用条件 ・ローカルマシン(送信元)に、RubyとCapistranoを  インストール。サーバ(送信先)には不要。 ・ローカルマシンから、サーバにSSH接続ができること。 ・全てのサーバに同じユーザと同じパスワードで、  接続できること。 複数台にデプロイする場合 ・もしくは、公開鍵・秘密鍵を利用したパスワードなしの  接続ができること。 基 本
  11. 11. デプロイ先のディレクトリ構成 ¦- current -> /var/www/project/releases/20150922092047 ¦- releases ¦  ¦- 20150922092047 ¦  ¦- 20150921131342 ¦- repo ¦- revisions.log `- shared   ¦- log ¦- pids `- system Webサーバは、 currentディレクトリを ドキュメントルートに指定。
  12. 12. 4)Capistranoができること ・デプロイ ・ロールバック ・メンテナンス画面への切り替え ・マイグレーション ・データベースのバックアップ
  13. 13. DevOps 開発(Development)と、運用(Operations)が 密接に連携して開発効率を上げる手法。 Capistrano、Chef、Puppet等は、 DepOpsを実現するツール。
  14. 14. ま と め ・リリース作業を自動化することで、効率良く  細かいサイクルでリリースが行えるようになる。 ・属人化を防ぐことができる。 ・ミスを少なくすることができる。 一台へのリリース作業でも、導入すると楽になれるのでオススメ!
  15. 15. 開発ブログ始めました!! http://ticklecode.com/ ドメイン取得から、 AWS + Rails4 + Capistrano3 + Nginx + pumaの 環境で、Webサービス開発を行う過程を、 共有していければと思ってます:) 間違いは、やさしく 教えてください m(__)m
  16. 16. Let's study together! Thank you :)

×