Allied ArchitectsAllied ArchitectsEngineer Blog

Capistranoを使ったデプロイ

2013/04/8 Capistrano

こんにちは。monipla for facebookを担当している佐藤(ま)です。
アライドでは「大佐」と呼ばれております。

今回は、Capistranoを使ったデプロイについて書きたいと思います。

まずCapistranoについてですが、Capistranoは「複数の環境に同じ処理を同時に実行させる」ためのツールで、これを利用することで複数環境へのデプロイなどを行うことができます。

では、インストールから簡単な動作確認を行っていきたいと思います。今回は、Gitサーバ上のプロジェクトをCapistranoを使って配布するというのをやっていきます。

◇利用する環境
・Gitサーバ
・デプロイサーバ
※Rubyが入っている必要があります。
・web(デプロイ先)サーバ

◇Capistranoインストール
・デプロイサーバへCapistranoをインストールします。

◇Capistranoのひな型作成
・適当な場所で以下のコマンドを実行し、Capfileとdeploy.rbファイルを作成します。

◇deploy.rb編集
まず試しに、デプロイサーバからwebサーバへコマンドを実行するタスクを作成し、Capistranoの動作確認をしてみます。deloy.rbを初期設定から以下のように書き換えます。

タスクを実行します。

lsコマンドが実行されました。

続いて、Git上のプロジェクトをwebサーバへデプロイするための設定を行います。先程の設定へデプロイ情報を追加します。タスクはデフォルトを利用するので今回は記載しません。

今度はデプロイ先サーバへデプロイが行われるので、一度setupにて初期化を行ったのちdeployコマンドを実行します。実行するとデフォルトのdeployタスクが実行されます。

デプロイ先を見てみると以下のような構成となっており、「current」内が最新のソースとなります。

↓current

ただ、このままだとpublicやtmp、.gitが存在しているので、今度はこれらが存在しないようタスクを追加してみます。またここでは合わせて「config.yml.prod」を「config.yml」へリネームする処理も入れています。

不要ファイルがなくなり「config.yml.prod」も「config.yml」へリネームされました。

また、Capistranoのタスクについてはこちらにて確認できます。

sato.masaki
  • sato.masaki
  • developer
  • よく使うであろうことをできるだけ分かりやすく発信していきます。 Gitの情報を無駄にキャッチアップしてます。

RELATION ENTRY

社内エンジニア向けにマークアップハンズオンを開催しました

社内エンジニア向けにマークアップハンズオ...

2017/05/23 Markup

お久しぶりです。アライドの大佐 (@taisa831)です。最近社内でUIデザイナーにお願いしてマークアップハンズオンをやってもらったのでその時のことを紹介したいと思います。 なぜやったか 弊社ではマークアップとエンジニアの仕事は分業していて、仕様の確認後はエンジニアは設計をし、UIデザイナーが...

続きを読む

Git の中身を見てみよう!vol.2 – Git オブジェクト (Advent Calendar 21日目)

Git の中身を見てみよう!vol.2 ...

2014/12/21 Git

こんにちは。アドベントカレンダー21日目を担当する佐藤(ま)です。 アライドでは「大佐」と呼ばれております。 前回に引き続き、git-scm.com の Book をみながら Git (.git) の中身をみていってみようと思います。今回は、前回も少し触れましたが、Git オブジェクトについてです...

続きを読む

sato.masakiの記事一覧へ

ページTOPへ