#デプロイツール 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
  • php
  • AWS

関連記事

twig 3 人気 PHP テンプレートエンジンがバージョンアップ
Elastic Beanstalk \$\SERVER['REMOTEADDR'] 取得できない
php curl 使って クリックなしで POST 送信
FlattenException deprecated
allowurlinclude の設定で ftp_connect()エラー
Lumen と Laravel 違い比較
Laravel5.7 の MVC 使う時のメモ
PHP 7.4 にアップグレードして使えなくなる機能
php 開発におけるルール・規約
解決!phpMyAdmin テーブル構造の内容が表示されない問題
開発時によく使うゼロ埋めパディング作業まとめ
正規表現一覧 よく使う検索・置換のパターン
知ってるようで知らなかった composer のコマンドとオプションの世界
Laravel 5.1 から 8.1 にバージョンアップ
laravel vuejs 初期設定
nuxtjs と codeigniter で jwt システム構築
HTML から PDF に変換 PHP ライブラリ mPDF の設定
php.ini 初期設定のいろいろ
爆速・軽量フレームワーク codeigniter PHP 開発
Laravel Error についてのメモ