0

カピストラーノ 3 を使用しています。Rails 4.0 アプリに tmp/restart.txt ファイルがありません。アプリをデプロイすると、次のエラーが表示されます。

WARN [SKIPPING] No Matching Host for /usr/bin/env touch /srv/yenta/releases/20140411230746/tmp/restart.txt

デプロイされたサーバーでは、アプリに tmp/restart.txt がありません。タスクを明示的に作成する必要があるのか​​ 、それともカピストラーノの設定が不足しているのか疑問に思います。capistrano 2 では、代わりに明示的に tmp/restart.txt ファイルに触れるタスクを作成します。

どんな助けでも大歓迎です!

4

3 に答える 3

0

この問題は、特定のロールを定義していないことに起因します。コードは、そのロールが定義されていない :app ロールを使用しているため、ホストが見つからないという問題が発生しました。

deploy.rb

desc 'Restart application'
task :restart do
  on roles(:app), in: :sequence, wait: 5 do
    # Your restart mechanism here, for example:
    execute :touch, current_path.join('tmp/restart.txt')
  end
end

deploy/staging.rb

role  :web,       "qa4-yenta"
set   :deploy_to, "/srv/yenta"
set   :rails_env, "staging"
set   :user,      "yenta"
set   :use_sudo,  false
set   :branch,    "staging"
set   :deploy_via, :remote_cache

:appロールを に変更する:webか、ロール:appを定義する必要があります。

于 2014-04-21T16:23:40.593 に答える
0

フォルダー内で実行しようとしtouchていreleasesます - フォルダー内で実行する必要がありcurrentます。

はい、ありませんtmp/restart.txt。作成する必要があると言われましたが、使用している Passenger のバージョン (4) では、とにかくアプリを再起動するだけのようですか?

于 2014-04-12T06:39:54.720 に答える