Capistrano3/トラブルシューティング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Capistrano3]]
&tag(Capistrano3/トラブルシューティング);
*目次 [#u9c1ce01]
#contents
*関連ページ [#fbaba88d]
-[[Capistrano3]]
*参考情報 [#uff8e943]
*トラブルシューティング方法 [#g1d276b6]
**listタスクを実行してみる [#jb95e0c4]
-全く動かない場合deploy.rbに以下のようなタスクを追加して...
#pre{{
task :list do
on roles(:web) do |host|
execute "ls"
end
end
}}
**ログのデバッグ出力 [#r4f8eb85]
-traceオプションを追加するとより詳細なログが表示される
bundle exec cap production deploy --trace
-それでも足らないときはdeploy.rbに以下を追加。
set :log_level, :debug
-さらにlogs/capistrano.logも利用できる。
**gem installがうまくいっていない場合 [#pab134de]
-ログからコマンドを抜き出し ssh xxx 'コマンド'を実行して...
ssh remotehost 'cd /Users/sora/www/myapp/releases/201606...
**環境変数の確認 [#aa1be483]
-sshで実行している際リモートの環境変数が原因でうまくRubyG...
-この場合以下のようなタスクを作成しておき実行する。
#pre{{
task :printenv do
on roles(:web) do |host|
execute "printenv"
end
end
}}
-タスクの呼び出し
bundle exec cap production printenv
*実行時エラー [#m4589ac2]
**本番環境でmigrationが実行されない [#qe04adb1]
-本番環境に実行した際、なぜかmigrationが実行されない。pro...
-最初はステージング環境だけで実行されているので「set :rai...
-[[ruby on rails - Capistrano 3 deploy:migrate not execut...
-実際は以下のようにdbロールを設定しただけで、serverのrole...
#pre{{
server 'myserver', user: 'sora', roles: %w{web}, my_prope...
role :app, %w{myserver}
role :web, %w{myserver}
role :db, %w{myserver}
}}
*その他エラー対策 [#l88efaa6]
**デプロイ時に「env: python: No such file or directory」 ...
-capistrano-git-copyで発生。
-macOS 12.3でPython 2.7が同梱されくなったのが原因。capist...
-すなわちローカル側の問題。
-MacPortsやHomebrewを使い、ローカルでPythonをインストール...
sudo port install python310
sudo port select --set python python310
**デプロイ時に「Your bundle only supports platforms」 [#v...
-macOSからLinuxサーバーにデプロイする際に発生。
-[[Herokuにpushしようとしたら「 Failed to install gems vi...
bundle lock --add-platform x86_64-linux
**デプロイ時に環境変数が読み込まれない [#l177fe00]
-デプロイ時にリモートの.zshrcや.bashrcが読み込まれないの...
-production.rbにdefault_envを指定して回避することができる...
#pre{{
set :default_env, {
# 'PKG_CONFIG_PATH' => '/opt/local/bin'
'PATH' => "/opt/local/bin:/opt/local/lib/mysql8/bin:$PA...
'RAILS_DATABASE_USERNAME' => ENV['RAILS_DATABASE_USERNA...
'RAILS_DATABASE_PASSWORD' => ENV['RAILS_DATABASE_PASSWO...
}
}}
**デプロイ時にmysql2のgemがインストールできない。 [#edb37...
-bundle stderr: Gem::Ext::BuildError: ERROR: Failed to bu...
-macportsの場合、default_envでmysqlのパスを指定し、さらに...
#pre{{
set :default_env, {
'PATH' => "/opt/local/bin:/opt/local/lib/mysql8/bin:$PA...
}
set :bundle_config, {
'build.mysql2' => '--with-ldflags=-L/opt/local/lib'
}
}}
**デプロイ時に「incompatible library version」 [#z86da37e]
-理由は不明ながら共通bundleを削除すれば復活した。例えば以...
rm -rf /Users/sora/www/demo/shared/bundle/*
**デプロイ後にassetsがプリコンパイルされない [#ce91609e]
-Capfileでrequire 'capistrano/rails/assets'が有効になって...
**デプロイ後ExecJS and could not find a JavaScript runtim...
-[[ruby on rails 3.1 - ExecJS and could not find a JavaSc...
#pre{{
sudo apt-get install nodejs
sudo yum install nodejs
}}
**デプロイ後「fatal: Not a git repository (or any of the ...
-Gemfileにローカルフォルダで管理しているgemファイルを追加...
gem.files = `git ls-files`.split($\)
-deploy先に.gitフォルダが存在しないためこのような減少が発...
-ローカルフォルダでgemを管理するのはやめたほうが良いかも...
-もしくはgemspecでgit ls-filesを使わないようにするか。 [...
**「Command: [ -d /var/www/myapp/releases/20140211033611/...
-[[ruby on rails - Capistrano 3 process failing - Stack O...
**「Command : [ -L ...]」が exit status 1 (failed).で失敗...
-[[ruby - Capistrano 3 deploy failed messages - exit stat...
-致命的エラーならばCapistranoが止まるはずなので気にしなく...
** Too many authentication failuresが発生 [#af93b281]
-sshをコマンドラインから使うと問題ない。SSHKitの問題?と...
ssh-add -D
** rbenv: 2.3.1 is not installed or not found in $HOME/.r...
-リモートに該当するRubyのバージョンがインストールされてい...
**rmagickがインストールできない [#wf647544]
-deploy時にrmagickのインストールに失敗する。[[Capistrano ...
-原因は環境変数がうまく設定されていないせいだった。
-相手さきがMacPortsを導入しているMacだったのでpathが/opt/...
#pre{{
set :default_env, {
# 'PKG_CONFIG_PATH' => '/opt/local/bin'
'PATH' => "/opt/local/bin:$PATH"
}
}}
**rmagickがインストールできない: その2 [#id9de921]
-deploy時に失敗する。エラーメッセージは以下の通り。
Gem Load Error is: This installation of RMagick was conf...
-リモートでportを更新したら発生するようになった(rmagickが...
-とりあえずmacportsでrmagickのバージョンを元に戻して解決。
-さらに調査した結果/shared/bundleの下に古いキャッシュが存...
**nokogiriがインストールできない [#cad98aa1]
-macOSにインストールした際にエラーが起きる場合、deploy.rb...
#pre{{
set :bundle_env_variables, { nokogiri_use_system_librarie...
}}
-さらにdeploy先でMacPortsを使っている場合、pkg-configのパ...
#pre{{
set :default_env, {
# 'PKG_CONFIG_PATH' => '/opt/local/bin'
'PATH' => "/opt/local/bin:$PATH"
}
}}
**SocketError: getaddrinfo: nodename nor servname provide...
-仮想環境にdeployしようとしたときに発生。.ssh/configでHos...
** deploy:symlink:linked_dirsのエラー [#g8a90dc8]
-lnが失敗している模様。ディレクトリの削除がいっていないの...
-原因は不明だが、デプロイファイル(staging.rb)で、serverで...
** openssh(sshクライアント)でログインしたあとCapistranoで...
-CentOS 7相手に発生。応急的には~/.ssh/known_hostsを削除す...
-[[Possible issue with Cap 1.4.1 and net-ssh 1.1.0? - Goo...
#pre{{
set :ssh_options, {
paranoid: false
}
}}
-根本原因は不明。
**$HOME/.rbenv/bin/rbenv exec bundle check --pathがfailed...
-その後の処理でInstall missing gems with `bundle install`...
終了行:
[[Capistrano3]]
&tag(Capistrano3/トラブルシューティング);
*目次 [#u9c1ce01]
#contents
*関連ページ [#fbaba88d]
-[[Capistrano3]]
*参考情報 [#uff8e943]
*トラブルシューティング方法 [#g1d276b6]
**listタスクを実行してみる [#jb95e0c4]
-全く動かない場合deploy.rbに以下のようなタスクを追加して...
#pre{{
task :list do
on roles(:web) do |host|
execute "ls"
end
end
}}
**ログのデバッグ出力 [#r4f8eb85]
-traceオプションを追加するとより詳細なログが表示される
bundle exec cap production deploy --trace
-それでも足らないときはdeploy.rbに以下を追加。
set :log_level, :debug
-さらにlogs/capistrano.logも利用できる。
**gem installがうまくいっていない場合 [#pab134de]
-ログからコマンドを抜き出し ssh xxx 'コマンド'を実行して...
ssh remotehost 'cd /Users/sora/www/myapp/releases/201606...
**環境変数の確認 [#aa1be483]
-sshで実行している際リモートの環境変数が原因でうまくRubyG...
-この場合以下のようなタスクを作成しておき実行する。
#pre{{
task :printenv do
on roles(:web) do |host|
execute "printenv"
end
end
}}
-タスクの呼び出し
bundle exec cap production printenv
*実行時エラー [#m4589ac2]
**本番環境でmigrationが実行されない [#qe04adb1]
-本番環境に実行した際、なぜかmigrationが実行されない。pro...
-最初はステージング環境だけで実行されているので「set :rai...
-[[ruby on rails - Capistrano 3 deploy:migrate not execut...
-実際は以下のようにdbロールを設定しただけで、serverのrole...
#pre{{
server 'myserver', user: 'sora', roles: %w{web}, my_prope...
role :app, %w{myserver}
role :web, %w{myserver}
role :db, %w{myserver}
}}
*その他エラー対策 [#l88efaa6]
**デプロイ時に「env: python: No such file or directory」 ...
-capistrano-git-copyで発生。
-macOS 12.3でPython 2.7が同梱されくなったのが原因。capist...
-すなわちローカル側の問題。
-MacPortsやHomebrewを使い、ローカルでPythonをインストール...
sudo port install python310
sudo port select --set python python310
**デプロイ時に「Your bundle only supports platforms」 [#v...
-macOSからLinuxサーバーにデプロイする際に発生。
-[[Herokuにpushしようとしたら「 Failed to install gems vi...
bundle lock --add-platform x86_64-linux
**デプロイ時に環境変数が読み込まれない [#l177fe00]
-デプロイ時にリモートの.zshrcや.bashrcが読み込まれないの...
-production.rbにdefault_envを指定して回避することができる...
#pre{{
set :default_env, {
# 'PKG_CONFIG_PATH' => '/opt/local/bin'
'PATH' => "/opt/local/bin:/opt/local/lib/mysql8/bin:$PA...
'RAILS_DATABASE_USERNAME' => ENV['RAILS_DATABASE_USERNA...
'RAILS_DATABASE_PASSWORD' => ENV['RAILS_DATABASE_PASSWO...
}
}}
**デプロイ時にmysql2のgemがインストールできない。 [#edb37...
-bundle stderr: Gem::Ext::BuildError: ERROR: Failed to bu...
-macportsの場合、default_envでmysqlのパスを指定し、さらに...
#pre{{
set :default_env, {
'PATH' => "/opt/local/bin:/opt/local/lib/mysql8/bin:$PA...
}
set :bundle_config, {
'build.mysql2' => '--with-ldflags=-L/opt/local/lib'
}
}}
**デプロイ時に「incompatible library version」 [#z86da37e]
-理由は不明ながら共通bundleを削除すれば復活した。例えば以...
rm -rf /Users/sora/www/demo/shared/bundle/*
**デプロイ後にassetsがプリコンパイルされない [#ce91609e]
-Capfileでrequire 'capistrano/rails/assets'が有効になって...
**デプロイ後ExecJS and could not find a JavaScript runtim...
-[[ruby on rails 3.1 - ExecJS and could not find a JavaSc...
#pre{{
sudo apt-get install nodejs
sudo yum install nodejs
}}
**デプロイ後「fatal: Not a git repository (or any of the ...
-Gemfileにローカルフォルダで管理しているgemファイルを追加...
gem.files = `git ls-files`.split($\)
-deploy先に.gitフォルダが存在しないためこのような減少が発...
-ローカルフォルダでgemを管理するのはやめたほうが良いかも...
-もしくはgemspecでgit ls-filesを使わないようにするか。 [...
**「Command: [ -d /var/www/myapp/releases/20140211033611/...
-[[ruby on rails - Capistrano 3 process failing - Stack O...
**「Command : [ -L ...]」が exit status 1 (failed).で失敗...
-[[ruby - Capistrano 3 deploy failed messages - exit stat...
-致命的エラーならばCapistranoが止まるはずなので気にしなく...
** Too many authentication failuresが発生 [#af93b281]
-sshをコマンドラインから使うと問題ない。SSHKitの問題?と...
ssh-add -D
** rbenv: 2.3.1 is not installed or not found in $HOME/.r...
-リモートに該当するRubyのバージョンがインストールされてい...
**rmagickがインストールできない [#wf647544]
-deploy時にrmagickのインストールに失敗する。[[Capistrano ...
-原因は環境変数がうまく設定されていないせいだった。
-相手さきがMacPortsを導入しているMacだったのでpathが/opt/...
#pre{{
set :default_env, {
# 'PKG_CONFIG_PATH' => '/opt/local/bin'
'PATH' => "/opt/local/bin:$PATH"
}
}}
**rmagickがインストールできない: その2 [#id9de921]
-deploy時に失敗する。エラーメッセージは以下の通り。
Gem Load Error is: This installation of RMagick was conf...
-リモートでportを更新したら発生するようになった(rmagickが...
-とりあえずmacportsでrmagickのバージョンを元に戻して解決。
-さらに調査した結果/shared/bundleの下に古いキャッシュが存...
**nokogiriがインストールできない [#cad98aa1]
-macOSにインストールした際にエラーが起きる場合、deploy.rb...
#pre{{
set :bundle_env_variables, { nokogiri_use_system_librarie...
}}
-さらにdeploy先でMacPortsを使っている場合、pkg-configのパ...
#pre{{
set :default_env, {
# 'PKG_CONFIG_PATH' => '/opt/local/bin'
'PATH' => "/opt/local/bin:$PATH"
}
}}
**SocketError: getaddrinfo: nodename nor servname provide...
-仮想環境にdeployしようとしたときに発生。.ssh/configでHos...
** deploy:symlink:linked_dirsのエラー [#g8a90dc8]
-lnが失敗している模様。ディレクトリの削除がいっていないの...
-原因は不明だが、デプロイファイル(staging.rb)で、serverで...
** openssh(sshクライアント)でログインしたあとCapistranoで...
-CentOS 7相手に発生。応急的には~/.ssh/known_hostsを削除す...
-[[Possible issue with Cap 1.4.1 and net-ssh 1.1.0? - Goo...
#pre{{
set :ssh_options, {
paranoid: false
}
}}
-根本原因は不明。
**$HOME/.rbenv/bin/rbenv exec bundle check --pathがfailed...
-その後の処理でInstall missing gems with `bundle install`...
ページ名: