capistrano 使い方メモ cakePHP
もう忘れていたのでメモ。。
まずはプロジェクト用のフォルダ(例:myapp)をつくります。 myappに移動します。 capifyします。 configディレクトリに移動します。 deployディレクトリをつくります。
mkdir myappcd myappcapify .mkdir config/deploytouch config/deploy/dev.rb次に、config/deploy.rbと、config/deploy/development.rbとか、config/deploy/production.rbとかの中身をつくる。
config/deploy.rb
require "capistrano/ext/multistage"require "capistrano_colors"require "railsless-deploy"require "rubygems"
ssh_options[:forward_agent] = trueset :normalize_asset_timestamps, falseset :use_sudo, false
#ステージset :stages, ["dev", "pro"]set :default_stage, "dev"# バージョン管理set :scm, :subversion# リポジトリset :repository, "リポジトリの場所"# ブランチ#set :branch, :master# デプロイ方式set :deploy_via, :copy#世代管理set :keep_releases, 3
# デプロイ対象外ファイルset :copy_exclude, [".svn", "**/.svn",".svn/*"]config/deploy/dev.rb
# アプリケーション名set :application, "アプリ名"# デプロイ先ディレクトリset :deploy_to, "デプロイ先ディレクトリパス/#{application}"
# デプロイサーバーrole :web, "ユーザ@ホスト"role :app, "ユーザ@ホスト"
#ユーザアカウントset:user, "ユーザ"set:password, "パスワード"
namespace :deploy do before "deploy" do try_sudo "chown -R 所有者:グループ #{deploy_to}" endend
after "deploy", "upload_config"
desc "各種セットアップ情報をアップロードします"task :upload_config, roles => :web do run "rm -f #{latest_release}/app/Config/core.php" run "rm -f #{latest_release}/app/Config/bootstrap.php" run "rm -f #{latest_release}/app/Config/database.php" run "rm -f #{latest_release}/app/Config/email.php" run "rm -f #{latest_release}/app/Config/core.pro.php" run "rm -f #{latest_release}/app/Config/bootstrap.pro.php" run "rm -f #{latest_release}/app/Config/database.pro.php" run "rm -f #{latest_release}/app/Config/email.pro.php" run "mv -f #{latest_release}/app/Config/core.dev.php #{latest_release}/app/Config/core.php" run "mv -f #{latest_release}/app/Config/bootstrap.dev.php #{latest_release}/app/Config/bootstrap.php" run "mv -f #{latest_release}/app/Config/database.dev.php #{latest_release}/app/Config/database.php" run "mv -f #{latest_release}/app/Config/email.dev.php #{latest_release}/app/Config/email.php" run "chmod -R 755 #{deploy_to}/current/"end次に、デプロイ先の初期セットアップをする。デプロイ先のサーバに必要なフォルダなどをつくってくれる。
cap dev deploy:setupあとは、デプロイしたいときに、デプロイする。
cap dev deploy