問題タブ [capistrano3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Capistrano 3: タスクでサーバー カスタム変数を使用する
マルチステージのマルチサーバーセットアップがあり、タスクでサーバー名を使用する必要があります。たとえば、stagin.rb では次のようにします。
タスクでその「名前」変数を使用したい:
ruby-on-rails - rvm1-capistrano3 を使用した Ruby のインストール
私が走るとき
コンソール出力の最後に次のエラーが表示されます。
使用する Ruby を決定できませんでした。. .rvmrc または .versions.conf または .ruby-version または .rbfu-version または .rbenv-version、または Gemfile の適切な行を含める必要があります。
キャップは中止されました!
編集
.ruby-version
アプリのルートに を追加した後、取得した内容で
私はrvm1-capistrano
gemでCapistrano 3.1.1を実行しています。これはすぐに使用できる実装です。特別なことは何も起こっていません。
出力には他にも 2 つのエラーが表示されます。
ruby-on-rails - rvm1-capistrano3 経由で Ruby をインストールする方法
rvm1-capistrano 経由で rvm をインストールします。タスクを実行するたびに、Ruby [version] is not installed
. インストールされていないことをすでに知っているので、これは奇妙です。これが、タスクを実行している理由です。インストールします。どうしてこれなの?
これは、すぐに使えるバニラのインストールです。私は何も変えていません。以下を追加しました。
set :rvm_ruby_version, '2.0.0-p353' # deploy.rb に、set :pty, true なしでも同じエラー # deploy.rb require 'rvm1/capistrano3' # Capfile に
他の人の推奨に従って、コンテンツとして.ruby-version
アプリのルートにa を追加しました。2.0.0
私は何を正しく理解していませんか? ruby のインストールを担当するタスクで、ruby がインストールされていないと表示されるのはなぜですか?
ruby-on-rails - Capistrano v3 タスクが「eval: bundle not found」というエラーでユニコーン サーバーの起動に失敗する
Capistrano v3 を使用して、nginx でユニコーンを使用して Rails 4 アプリを VPS にデプロイしています。
カピストラーノの最新の公式ドキュメントに従って、展開自体に関連するすべてをセットアップすることができました。
私は宝石「capistrano」、「capistrano-bundler」、「capistrano-rails」、「capistrano-rvm」を使用していcap production deploy
ますが、エラーメッセージなしですべてが機能しているようです (リポジトリは github から取得され、サーバーにコピーされます。アセットはプリコンパイル済みなど)。
この時点で、ssh 経由でサーバーに接続して入力すると/etc/init.d/unicorn start
、サーバーは期待どおりに起動し、Rails アプリを提供します。
ただし、次のような capistrano v3 でこれを自動化するタスクを作成しました。
しかし、私がしようとするたびにcapistrano deploy unicorn:start
、次のエラーが発生します:
さらに奇妙なのは、ユニコーンを手動で起動してから実行すると、cap production unicorn:stop
シームレスに動作することです。
ssh経由でログインするときに使用可能な環境変数に違いがあると思われるため、「rvm_bin_path」、「path」、および「gem_path」をサーバーと同じになるように構成しましたが、それでも同じエラーが発生します。
私はアイデアが不足しています、誰がこれを引き起こす可能性があるか知っていますか?
乾杯。
ruby-on-rails-4 - capistrano 3 カスタムタスク内で dotenv 変数を使用する
.env ファイルから dotenv によって設定された変数を表示するカピストラーノ タスクを作成しようとしています。
タスク:
.env ファイル:
タスクの実行:
これは、作業中の capified rails 4 アプリの下にあります (cap staging deploy を問題なく実行できます)。
誰が私に何が欠けているのか教えてください。
編集:
十分に明確でない可能性があるため、実際に必要なのは、ローカルマシンで .env にアクセスすることです。実際のケースは次のとおりです。
私は秘密のAPIキーを.env内に保存し、展開後に外部APIサービスに通知するために使用されます。APIキー自体は他の場所に保存することは想定されておらず、アプリ専用です(各アプリには独自のキーがあります)ので、そうではありませんローカル環境に永続的に保存することをお勧めします
ruby-on-rails - シンボリックリンク付きのカピストラーノ 3
Capistrano 3 で自分のアプリ (Ruby on Rails 4) をデプロイしようとして 3 日間経ちましたが、本当に答えが見つかりませんでした。
コンソールに次のようなエラーが表示されました。
「El fichero ya existe」は、「ファイルは既に存在します」という意味の文です。
これは私の deploy.rb です:
これは完全なログです:
$ cap deploy production --trace
....
capistrano がファイルを 2 回コピーしているかどうかはわかりません。
ありがとうございました!