質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

Q&A

解決済

1回答

1135閲覧

capistrano3のdeploy:checkでWARNが出ていますが意味が不明で対処出来ないのでご教示お願いします。

koume

総合スコア458

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

0グッド

0クリップ

投稿2019/03/22 04:01

編集2019/03/22 04:11

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のログインユーザー名ではないのか?

③の場合どのように記述すればいいのか?

などデプロイは初めてで的外れな質問をしているかもしれませんが宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

deploy.rbのset :rvenvに関するコードを全てコメントアウトしset :rvm_ruby_version, "ruby-2.3.1"
を追記して解決しました。
原因はVPS側にrubyをインストールする際にrvenvではなくrvmでインストールしていたのでrvenvは
ありませんということが原因だったのでしょう。

投稿2019/03/23 00:36

koume

総合スコア458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問