続・Capistranoによるデプロイ
2012/05/06
『改訂新版 基礎Ruby on Rails』 読者サポートページ > Rails本番環境構築ガイド
Gitレポジトリの作成の続きです。
Gitで管理されたソースコードをCapistranoでリモートマシンに設置(デプロイ)する手順を示します。
この文章の内容は、随時更新しています。最終更新日: 2012/06/10
以下、ローカルマシン(あなたのPC)で作業する場合はコマンドプロンプトを %
で示し、リモートマシン(サーバ)で作業する場合はコマンドプロンプトを $
で示します。
Capistranoの設定を変更
ローカルマシンのasagaoディレクトリにある config/deploy.rb
をエディタで開き、
set :repository, "." set :scm, :none set :deploy_via, :copy set :copy_exclude, [ "doc", "log", "tmp" ]
と書いてある部分を、次のように修正します。
set :local_repository, "git@asagao.oiax.jp:asagao.git" set :repository, "/var/git/asagao.git" set :branch, "master" set :scm, :git set :deploy_via, :remote_cache
:local_repository
にはローカルマシンから見たときのレポジトリのURLを指定し、:repository
にはリモートマシンから見たときのレポジトリのURLあるいはパスを指定します。
ローカルマシンからデプロイできるかどうか確認します。
% cap deploy
GitHubのレポジトリからデプロイする
以下、GitHubのレポジトリのURLを git@github.com:oiax/asagao.git
とします。
GitHubにレポジトリを作る方法は、本稿の範囲外とします。なお、上記のURLは本物です。
rails
ユーザーでリモートマシンにログインし、次のコマンドを実行します。
$ git ls-remote git@github.com:oiax/asagao.git master
「Are you sure you want to continue connecting (yes/no)?」と尋ねられたら「yes」を入力します。
次のような結果が表示されればOKです。40桁の16進数の値は何でも構いません。
a7fd1b0a63cffa5a1820fded705d155b0453eaf5 refs/heads/master
github.com
のサーバ鍵を /var/rails/.ssh/known_hosts
に加えるために、このコマンドを実行しています。リモートマシン上で少なくとも1回このコマンドを実行しないと、デプロイに失敗します。
続いて以下のコマンドを順に実行します。
$ cd /var/rails/asagao/shared $ rm -rf cached-copy
リポジトリを変更した時はキャッシュを消去する必要があります。
ローカルマシンのasagaoディレクトリにある config/deploy.rb
をエディタで開き、
set :local_repository, "git@asagao.oiax.jp:asagao.git" set :repository, "/var/git/asagao.git"
と書いてある部分を、次のように修正します。
set :repository, "git@github.com:oiax/asagao.git"
ローカルマシンからデプロイできるかどうか確認します。
% cap deploy
目次
- VirtualBoxによる仮想マシンのインストール
- MinGWのインストール (Windowsユーザー向け)
- サーバーの準備(CentOS 6.2編)
- サーバーの準備(Ubuntu Server 12.04 LTS編)
- サーバーの準備(Ubuntu Server 10.04 LTS編)
- SSH公開鍵の設置
- Ruby 1.9.3のインストール
- Railsアプリケーションのセットアップ
- ApacheとPhusion Passengerのセットアップ
- データベースとの接続(MySQL編)
- データベースとの接続(PostgreSQL編)
- Capistranoによるデプロイ
- Gitレポジトリの作成
- 続・Capistranoによるデプロイ