Railsアプリをcapistrano3でデプロイしようとトライしています。
VPSの環境は以下のように設定しています。
VPS=さくらのVPS
ruby2.3.1-p112 ($ ruby -v で 2.3.1p112と表示)
rails 5.1.3 ($ rails -v で 5.3.1と表示)
Apache
passenger
MariaDB
鍵認証でのログイン可能
firewallの設定完了
SSHの設定変更完了
SSL証明書Let's Encryptのインストール完了(httpsアクセス確認完了)
postfixのインストール完了
DNSの設定完了
追記
VPSにRubyをインストールする際、「$ rvm install 2.3.1」 でインストールしています。
[vagrant@localhost chibi]$ bundle exec cap production deploy:check を
実行しデプロイのチェックをしましたが以下のようにWARNが表示されてしまいます。
[vagrant@localhost chibi]$ bundle exec cap production deploy:check DEBUG [298c0a92] Running [ -d /usr/local/rbenv/versions/2.3.1-p112 ] as panda@XXXX-XXXX.com DEBUG [298c0a92] Command: [ -d /usr/local/rbenv/versions/2.3.1-p112 ] Enter passphrase for /home/vagrant/.ssh/id_rsa: (#パスフレーズを入力) DEBUG [ac41f77b] Finished in 75.550 seconds with exit status 1 (failed). WARN rbenv: 2.3.1-p112 is not installed or not found in /usr/local/rbenv/versions/2.3.1-p112 on panda@XXXX-XXXX.com
capistrano3のrbenvに関するコードはconfig/deploy.rbに記述しています。
config/deploy.rb set :rbenv_type, :user set :rbenv_path, '/usr/local/rbenv' set :rbenv_ruby, '2.3.1p112' set :chruby_ruby, 'ruby-2.3.1p112' set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec" set :rbenv_map_bins, %w{rake gem bundle ruby rails} set :rbenv_roles, :all
config/deploy/production.rb server 'XXXX-XXXX.com', user: 'panda', roles: %w{app web db} (#VPSの設定) set :ssh_options, { port: 60354, (#VPSのポート番号) keys: %w(/home/vagrant/.ssh/id_rsa), (#仮想マシンの秘密鍵を指定) forward_agent: true, auth_methods: %w(publickey) }
WARNでnot installedとなっているのでインストールできなかったというのはなんとなくわかります。
config/deploy.rbのset :rbenv_ruby, '2.3.1p112'の部分でWARNになっているみたいなのです。
①自分のVPSにすでにruby2.3.1p112はインストールされているからinstallできません。という警告なのか?
②それともVPSにインストールされていませんという警告なのか?
③VPSにrvmでインストールしているのでdeploy.rbの記述が違っているのか?
もし①の場合はconfig/deploy.rbのコードを削除すれば解決するものなのでしょうか?
②の場合はproduction.rbの設定が間違っているのでしょうか?
たとえば'XXXX-XXXX.com'の部分はIPアドレスを記入しなければいけない。
user: 'panda'はVPSのログインユーザー名ではないのか?
③の場合どのように記述すればいいのか?
などデプロイは初めてで的外れな質問をしているかもしれませんが宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。