スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Rails デプロイ capistrano

Railsで作ったアプリケーションをデプロイしようとしたところ、いくつかエラーが発生したので記録を残しておく。


【1】Host key verification failed.

まずは、吐かれたエラー。長い。

$ cap deploy:migrations

** [host :: err] Host key verification failed.
** [ms0 :: err] fatal: The remote end hung up unexpectedly
command finished in 562ms
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3' -c 'if [ -d /home/user/host/shared/cached-copy ]; then cd /home/user/host/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 18a1963df4f7e782b882abd949f2bf1984a7dbfa && git clean -q -d -x -f; else git clone -q user@host:git/application.git /home/user/host/shared/cached-copy && cd /home/user/host/shared/cached-copy && git checkout -q -b deploy 18a1963df4f7e782b882abd949f2bf1984a7dbfa; fi'" on host


Host Keyがどーのとか言われているが、SSH接続できることは既に確認済み。

というわけで、いろいろ調べた結果、Gitサーバーとデプロイ先が同じ時に発生するエラーらしいことが判明。

config/deploy.rbをいじります。

【訂正前】
set :deploy_via, :remote_cache

【訂正後】
set :deploy_via, :copy



【2】Could not find i18n-0.6.0 in any of the sources

*** [err :: ms0] rake aborted!
*** [err :: ms0] Could not find i18n-0.6.0 in any of the sources
*** [err :: ms0]
*** [err :: ms0] (See full trace by running task with --trace)
command finished in 862ms
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3' -c 'cd /home/user/host/releases/20120928063350 && rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on host


別に国際化対応するほど立派なアプリケーションは作っていないので、i18nなんて使っていないにもかかわらず、i18nがないとか言われる。

i18nを入れたみたりいろいろした結果、以下の方法で解決。

config/deploy.rb
require 'bundler/capistrano'



【3】Access denied for user

*** [err :: ms0] rake aborted!
*** [err :: ms0] Access denied for user 'user'@'localhost' (using password: YES)
*** [err :: ms0]
*** [err :: ms0] Tasks: TOP => environment
*** [err :: ms0] (See full trace by running task with --trace)
command finished in 6407ms
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3' -c 'cd /home/user/host/releases/20120928064326 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on host



パーミッションとか言われて戸惑いましたが、冷静に考えると、デプロイ先のサーバーでデータベースの設定をしていないことに気づきました。

というわけで、

$ sudo mysql -u root -p
Enter password:
mysql> create database rails_production;
mysql> grant all privileges on rails_production.* to 'user'@'localhost' identified by 'password';
mysql> exit;


このあたりのユーザー名等はconfig/database.ymlに揃えれば大丈夫です。



以上3点のエラーをくぐり抜けた結果、無事デプロイすることができました。

コメントの投稿

非公開コメント

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
検索フォーム
カテゴリ
月別アーカイブ
最新記事
最新コメント
最新トラックバック
RSSリンクの表示
QRコード
QR
リンク
アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。