LoginSignup
2
7

More than 3 years have passed since last update.

macのローカル環境でCapistranoでdeployを試して見る。

Last updated at Posted at 2017-01-09

動機

デプロイツールとしてCapistranoを使ってみたいと思い色々調べてみたのですが、awsやherokuへのデプロイ方法の説明ばかりでサクッとローカル環境で試す方法が見つからなかったので自分で調べて試してみました。

準備

ローカルにssh接続できないといけません。
まずはシステム環境設定 → 共有 → リモートログインを許可します。
スクリーンショット 2017-01-09 22.15.12.png

設定できたら試しにsshで接続できるか試してみます。

$ ssh localhost

次に適当なgithubにdeploy対象のレポジトリを作成します。
私は適当にrailsのアプリをローカルで作りリモートのレポジトリにpushしておきました。

Capistranoの導入

gemfileに下記の物を追加しました。

group :development, :test do
    gem 'capistrano'
    gem 'capistrano-bundler'
    gem 'capistrano-rails'
end

恐らくrailsでなければcapistrano-railsは不要かと思われます。
参考サイトにもそう書かれていた。
上記の記述を足した後に
bundle install
その後に
bundle exec cap install
そうするとCapistranoの設定ファイルが出来上がります。

Capistranoの設定ファイルの編集

config/ → deploy → production.rb に下記を追記します。

server "localhost",
   user: "ユーザー名",
   ssh_options: {
     user: "ユーザー名", # overrides user setting above
     forward_agent: false,
     password: "パスワード"
   }

ssh接続するときの設定を記述しているのかと思います。
次にconfig/ → deploy.rb に設定を書きます。
私は下記を元々あるファイルに追記しました。

set :application, "capistrano"
set :repo_url, "githubの作ったレポジトリ名"
set :deploy_to, "ローカルでデプロイをする場所"
set :keep_releases, 5

deployする

下記のコマンドを実行します。

cap production deploy

無事に成功すればcurrentのディレクトリとreleaseのディレクトリができれイルかと思います。

最後に

Capistranoの記事を色々と読んだのですが手を動かしてないのでうまく理解できませんでした。
でもこれで大まかま流れはわかりましたしローカルで実行できるので色々と試していきたいと思います。
最後に「システム環境設定 → 共有 → リモートログイン」を許可していたかと思いますがこちらはそのまま許可の状態にしないで使い終わったらチェックを外してください。
セキュリティ上よくないので、、、、。
また、初心者ですのでどこか至らない点がありましたらご指摘いただければと思います。

2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7