# デプロイツール Capistrano

Capistrano は Ruby で書かれた git ソースをサーバーにデプロイ自動化ツール

capistranorb 公式サイト (opens new window)

タスク、フックス、リモート削除、ロールバック、認証機能まで用意してくれている Capistrano 使っていろんなデプロイの対応できそうですね。

Capistrano のいいところ

# インストール

Capistrano は Ruby Gem にバンドしているので、Ruby 2.0以上が必要

Ruby のインストール (opens new window)

gem コマンドが使えるようになったら capistrano インストール

gem install capistrano

コマンドインストールがうまく行かない場合 git clone でも使えます。

git clone https://github.com/capistrano/capistrano.git
cd capistrano
gem build *.gemspec
gem install *.gem

これでインストール完了です。Ruby があれば、依存パッケージなさそうですね。
インストール完了しましたら、capコマンドが使えるようになるので、これからデプロイ作業。

cd my-capistrano-enabled-project
cap production deploy

# capistrano config 設定

設定類は config ディレクトリの下に

config/deploy.db

# gitレポジトリ指定
set :repo_url, 'https://user_name:pass_word@github.com/user_name/web_app.git'

# シンボリックリンク設定ディレクトリ
set :linked_dirs, fetch(:linked_dirs, []).push('log')

# ソースのバージョンの管理数
set :keep_releases, 5

# sudoコマンド実行つけるか
set :use_sudo, false

デプロイ先によって設定ファイルを分けたりします。

  • config/deploy/dev.rb
  • config/deploy/staging.rb
  • config/deploy/product.rb

参考

Rails 中級者が Capistrano3 で Rails アプリを AWS EC2 にデプロイするためにがんばったこと (opens new window)

# デプロイ

デプロイはファイル指定してデプロイコマンドを打つだけ

cap production deploy

# 感想

capistrano で git pull 程度のデプロイならすぐにできそうですが、当たり前ですが、高度な機能タスクとフックなど使おうと思ったらやはり仕様書をちゃんと読んで、やらないといけません。機能が豊富で一回 capstrano 身につけばいろんなことができて楽しいと思います。ルビーインストール、設定あたり、更に AWS 連携ライブラリなどが必要なので、簡単に楽にすぐにデプロイするならやはり Github Action の方が学習コスト少ないので、いいかもしれません。

2020-10-28
  • server
  • aws
レンタルサーバー エックスサーバー レンタルサーバー エックスサーバー DMM fx DMM fx 開発/運用エンジニア募集プログラム 開発/運用エンジニア募集プログラム 外為ジャパンFX 新規口座開設促進 外為ジャパンFX 新規口座開設促進 eBay公式ショッピングサイト Qoo10 eBay公式ショッピングサイト Qoo10 Amazon.co.jpのカテゴリごとのページ

関連記事

AWS 504 Gateway Timeout エラー対応
Laravel Address already in use の原因
AWS EC2 の amazon-linux-extras の話
Amazon DynamoDB 制限調査
AWS Elastic Beanstalk php.ini 設定変更
Elastic Beanstalk \$\SERVER['REMOTEADDR'] 取得できない
AWS のタイムゾーンを UTC 協定世界時から JST 日本標準時に変更
AWS Elastic Beanstalk 環境設定
Shell と Bash のいろいろ
crontab 設定いろいろ
Mac ターミナル SSH 接続設定
解決! xserver php バージョンアップした時に ssh 環境に反映されない
xserver に nodejs インストール
Centos7 Webserver 構築の時のメモ
content-security-policy 設定
xserver に vim インストール
レンタルサーバーなら xserver おすすめ理由
youtube 見れるように vpn サーバー建ててみた