Capistrano3/Tips
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(Capistrano3/Tips);
*目次 [#r2c29531]
#contents
*関連ページ [#d4823501]
*参考情報 [#qf86f0eb]
*一般 [#b1c4e757]
**初回データベースやユーザーの生成をどうするか [#m9c90091]
-[[Capistrano3で快適デプロイ生活!! - Less is Best:http://...
#pre{{
#> dbサーバーのデータベースを生成するタスク。
#> デプロイ前に実行する必要がある。
task :db_create do
on roles(:db) do |host|
q1 = 'CREATE DATABASE IF NOT EXISTS <app_name>;'
q2 = 'GRANT ALL ON <app_name>.* TO <app_user>@loc...
q3 = "FLUSH PRIVILEGES;"
sql = "#{q1}#{q2}#{q3}"
execute "mysql --user=<mysql_user> --password=<ms...
end
end
}}
**passengerを再起動したい [#kc27af13]
-apache passengerはtmp/restart.txtを見て再起動してくれる。
-そこで以下のような設定をdeploy.rbに追加しておくといいら...
#pre{{
namespace :deploy do
after :restart, :restart_passenger do
on roles(:web), in: :groups, limit: 3, wait: 10 do
within release_path do
execute :touch, 'tmp/restart.txt'
end
end
end
after :finishing, 'deploy:restart_passenger'
end
end
}}
-passengerは再起動したあとtmp/restart.txtを削除するという...
-再起動したかどうかログにも書き出されずよくわからない。
**staging環境で使用したい [#i1307ad0]
-staging環境にdeployしたい場合、config/deploy/staging.rb...
-以下手順。
-config/database.ymlにstaging環境を追加する。production:...
-config/secrets.ymlにstaging環境を追加する。production:を...
-config/environments/staging.rbを作成。production.rbをsta...
-config/deploy/stating.rbを作成。rails_envをstagingに指定...
set :rails_env, "staging"
-手元環境でとりあえず起動してみる
bundle exec rails s -e staging
-deployする
bundle exec cap staging deploy
**sharedへのリンク [#mc134145]
-deploy.rbでコメントアウトされているlinkd_dirsをコメント...
set :linked_dirs, fetch(:linked_dirs, []).push('log', 't...
**GitHubのプライベートリポジトリで公開しているgemを使う [...
-[[プライベートリポジトリで提供しているgemを使ったアプリ...
-ローカル環境ではアクセストークンを発行し以下のように設定...
bundle config github.com *********:x-oauth-basic
-Capistranoなどを使ってリモートにdeployしたい場合、.bashr...
export BUNDLE_GITHUB__COM=******:x-oauth-basic
-上記設定ファイルが読み込めない場合.bashrcが途中で終了し...
#pre{{
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
}}
終了行:
&tag(Capistrano3/Tips);
*目次 [#r2c29531]
#contents
*関連ページ [#d4823501]
*参考情報 [#qf86f0eb]
*一般 [#b1c4e757]
**初回データベースやユーザーの生成をどうするか [#m9c90091]
-[[Capistrano3で快適デプロイ生活!! - Less is Best:http://...
#pre{{
#> dbサーバーのデータベースを生成するタスク。
#> デプロイ前に実行する必要がある。
task :db_create do
on roles(:db) do |host|
q1 = 'CREATE DATABASE IF NOT EXISTS <app_name>;'
q2 = 'GRANT ALL ON <app_name>.* TO <app_user>@loc...
q3 = "FLUSH PRIVILEGES;"
sql = "#{q1}#{q2}#{q3}"
execute "mysql --user=<mysql_user> --password=<ms...
end
end
}}
**passengerを再起動したい [#kc27af13]
-apache passengerはtmp/restart.txtを見て再起動してくれる。
-そこで以下のような設定をdeploy.rbに追加しておくといいら...
#pre{{
namespace :deploy do
after :restart, :restart_passenger do
on roles(:web), in: :groups, limit: 3, wait: 10 do
within release_path do
execute :touch, 'tmp/restart.txt'
end
end
end
after :finishing, 'deploy:restart_passenger'
end
end
}}
-passengerは再起動したあとtmp/restart.txtを削除するという...
-再起動したかどうかログにも書き出されずよくわからない。
**staging環境で使用したい [#i1307ad0]
-staging環境にdeployしたい場合、config/deploy/staging.rb...
-以下手順。
-config/database.ymlにstaging環境を追加する。production:...
-config/secrets.ymlにstaging環境を追加する。production:を...
-config/environments/staging.rbを作成。production.rbをsta...
-config/deploy/stating.rbを作成。rails_envをstagingに指定...
set :rails_env, "staging"
-手元環境でとりあえず起動してみる
bundle exec rails s -e staging
-deployする
bundle exec cap staging deploy
**sharedへのリンク [#mc134145]
-deploy.rbでコメントアウトされているlinkd_dirsをコメント...
set :linked_dirs, fetch(:linked_dirs, []).push('log', 't...
**GitHubのプライベートリポジトリで公開しているgemを使う [...
-[[プライベートリポジトリで提供しているgemを使ったアプリ...
-ローカル環境ではアクセストークンを発行し以下のように設定...
bundle config github.com *********:x-oauth-basic
-Capistranoなどを使ってリモートにdeployしたい場合、.bashr...
export BUNDLE_GITHUB__COM=******:x-oauth-basic
-上記設定ファイルが読み込めない場合.bashrcが途中で終了し...
#pre{{
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
}}
ページ名: