0

現在、Capistrano でマルチステージ拡張機能を使用してコードをデプロイしています。私が持っている2つの段階は、「本番」と「ステージング」です。

ここで、ステージングでの展開に使用する Git のブランチの 1 つを指定できるようにしたいと考えています。現在、prod とステージングの両方が master からデプロイされていますが、Gitflow を実装し、開発ブランチをステージング環境に使用したいと考えています。

私は周りを見回して、これが私の staging.rb ファイルの答えであることがわかりました:

set :rails_env, "staging"
set :deploy_to, "/path/to/project"
set :branch, "develop"

しかし、これを含めて実行しようとするとcap staging deploy、次のエラーが発生します。

* executing "cd -- /path/to/project/releases/201309131 && bundle exec rake RAILS_ENV=staging RAILS_GROUPS=assets assets:precompile && cp -- /path/to/project/shared/assets/manifest.yml /path/to/project/releases/201309131/assets_manifest.yml"
    servers: \["10.1.171.106"\]
    \[10.1.171.106\] executing command
 ** \[out :: 10.1.171.106\] rake aborted!
 ** \[out :: 10.1.171.106\] database configuration does not specify adapter

次の質問が表示されます: Thin / Capistrano がデータベースに接続できない

しかし、自分のタスクを見ると、次のようになります。

  task :start do ; end
  task :stop do ; end

これらの環境を設定したのは私ではなく、Capistrano にも精通していないため、ここで何が起こっているのかよくわかりません。

Any ideas about what is going on?

EDIT: Including my database.yml

# MySQL.  Versions 4.1 and 5.0 are recommended.
# 
# Install the MYSQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: project_development
  pool: 5
  username: user
  password:
  socket: /tmp/mysql.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: project_test
  pool: 5
  username: user
  password:
  socket: /tmp/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: project_production
  pool: 5
  username: user
  password:
  socket: /tmp/mysql.sock
4

1 に答える 1

0

問題は、にセクションがないことstagingですdatabase.yml。もしかしたら、別のブランチに 1 つ持っていて、引っ越したときに削除したのではないでしょうか? いずれにせよ、再度追加すると、このエラー メッセージが表示されなくなります。

于 2013-09-13T19:49:49.240 に答える