問題タブ [whenever-capistrano]
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-on-rails - gem が crontab タスクを更新しないときはいつでも
私は、Slicehost の 2 年以上前のスライスで、everyone ジェムを使用しています。ただし、新しいスライスで同じことを行うことはできません。
主な違いは、MBP とスライスの両方で RVM を実行していることです。Rails 3 も実行しています。Rubygems v 1.5.0 と RVM の最新バージョン、Ruby 1.9.2p136、Capistrano、およびそこにある他のすべてのパッケージがあります。
私は何百万ものことを試し、すべてのドキュメントを読みました。今のところ、everything gem バージョン 0.6.2 を使用しています。また、SO と Google の関連トピックに関するすべての質問も確認しました。
deploy.rb のコードは次のとおりです。
これは、「cap deploy」を実行した後に表示されるエラー メッセージです。
どんな提案でも大歓迎です。
ところで、カピストラーノのログはどこにありますか?
Simone の提案のおかげで「bundle exec」を追加したので、すべてがうまくいったので、cap deploy ルーチンを完了することができました。ただし、新しい問題は、crontab ファイルにまだタスクがなく、4 つのタスクを含むセクションが作成されていないことです。
ruby-on-rails - サーバー上の複数のプロジェクトでいつでもCron
Railsアプリでいつでも使用し、カピストラーノで展開します。
問題は、私は 1 つのプロジェクトにしか使用していないので問題ありませんが、同じサーバー上で複数のプロジェクトにいつでも使用すると、プロジェクトをデプロイするたびに cron ファイルを破棄して再作成することです。同じサーバー上に共存するには、すべてのプロジェクトがそれを更新するか、新しい命令を追加する必要があります。
私は単にデプロイします
deploy.rb
誰かが私にどうすればよいか教えてくれますか?
ruby-on-rails - カピストラーノ経由でデプロイするときにエラーが発生するたびに宝石をレール
Rails プロジェクトの when ジェムを使用して最初の cron ジョブを作成しようとしています。を実行するcap deploy
と、次のエラーが発生します。
これが私のschedule.rbコードです:
これを capistrano deploy.rb ファイルに追加しました
capistrano - when/capistrano `method_missing_with_variables': 未定義のメソッド `role_names_for_host'
カピストラーノで展開するときに、いつでも / capistrano を使用して cron_tab を更新しています。最近まで、cron_tab の更新時に展開が失敗し始めました。
*role_names_for_host* を設定しています
私のタスクは次のようになります
私が間違っている可能性があることについてのアイデアはありますか?
Gem のバージョン
- カピストラーノ (2.8.0)
- いつでも (0.8.2)
ruby-on-rails - キャップデプロイ中は常にバンドラーが実行されていません
キャップデポリを実行しようとしていますが、次のエラーが表示されます。
後で、コマンドが実行される前にバンドラーが実行されていないことに気付きました。これは、Railsアプリを最新バージョンのRailsにアップグレードした後に発生しました。3.2.11。助けてくれてありがとう。
ruby-on-rails - gem がタスクを実行していないときはいつでも
いつでもジェムを使用するようにレールプロジェクトをセットアップしました。これで、Capistrano を使用してプロジェクトをデプロイすると、タスクが crontab リストに適切に追加されました。しかし、1行しか表示されない場合:
そこで、オンラインでいくつかの記事を読んだので、これを自分の schedule.rb ファイルの上に追加しました
これにより、次の行が crontab に追加されるため、問題は解決したと考える必要があります。
したがって、コマンドが実行されたときにバンドルがパスにあると考える必要があります。しかし、まだ運がありません。別のユーザーでコマンドと展開を実行しました。そのため、すべてがそのユーザー (この場合は deployer) で実行されるようにします。私はデプロイヤーの役割を引き受け、crontab で指定されたコマンドを実行しました。このコマンドを実行しても問題は発生しませんでした。
オプションが不足していて、他の誰かがこの奇妙な動作を経験したかどうか疑問に思っていましたか? 何かアドバイスをいただければと思います。これは私のcrontabの出力です:
どんな助けでも歓迎します!
ruby-on-rails - カピストラーノといつでもステージ変数
ステージング サーバーでは、実稼働環境で Rails アプリケーションを実行し、実稼働サーバーとできるだけ同じようにします。crontab を作成するために when を使用しています。ただし、Google と Bing に ping を送信しないように、サイトマップ生成用に少し異なる rake タスクを実行する必要があります。
deploy.rb には:
set :stages, %w(production staging)
がありますが、deploy/staging.rb と deploy/production.rb の両方に:rails_env, "production"
設定しているため、使用できませんRails.env
。
でschedule.rb
、次のようなことをしたい:
その変数を利用可能にするにはどうすればよいですか?
アップデート
置くことで解決できました
set :whenever_variables, defer { "stage=#{stage}" }
私の deploy/staging.rb に。@stage
その後、schedule.rbにアクセスできました
ruby-on-rails-3 - When-capistrano deploy の問題
私の Rails 3.2.13 アプリの cron ジョブを管理するために、everyday gem を使用します。カピストラーノでデプロイ。
ここに私がアウトプットで得るものがあります:
deploy.rb のレシピはここにあります (頭なし): https://gist.github.com/Almaron/5989804。いつでも61行目と62行目を削除するとうまくいきます。