capistrano3でRailsアプリをさくらのVPSにデプロイしようとしています。
とりあえず以下の順にコードを実行してみました。
[vagrant@localhost chibi]$ export RAILS_ENV=production [vagrant@localhost chibi]$ bundle exec cap production deploy::upload #エラー発生 [vagrant@localhost chibi]$ bundle exec cap production deploy:check [vagrant@localhost chibi]$ bundle exec cap production deploy #エラー発生
このコード実行時にエラーが発生 [vagrant@localhost chibi]$ bundle exec cap production deploy::upload エラーの内容 cap aborted! Don't know how to build task 'deploy::upload' (see --tasks) (See full trace by running task with --trace)
このコードを実行時にエラー発生 [vagrant@localhost chibi]$ bundle exec cap production deploy cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as panda@XXX.XXX.XXX.XX: scp: /var/www/html/shared/config/database.yml: Permission denied scp: /var/www/html/shared/config/database.yml: Permission denied Tasks: TOP => deploy:starting => deploy:upload (See full trace by running task with --trace)
config/deploy.rbのuploadのところは以下のようにしています。
namespace :deploy do desc 'Upload database.yml' task :upload do on roles(:app) do |host| if test "[ ! -d #{shared_path}/config ]" execute "mkdir -p #{shared_path}/config" end upload!('config/database.yml', "#{shared_path}/config/database.yml") end end
上記2つのエラーの関係性はわかりませんが最初のエラーはdeploy::uploadのtaskがありません。
次のエラーはdatabase.ymlのアクセス権限がありませんのようなエラーだと思っています。
Don't know how to build task 'deploy::upload' (see --tasks)の解決方法 及び
scp: /var/www/html/shared/config/database.yml: Permission denied の
解決方法をご教示していただけないでしょうか?
はじめてのデプロイでかなり困惑していますが宜しくお願いします。
追記
試しにbundle exec cap production deploy --traceのコマンドを実行してみました。
** Invoke deploy:upload (first_time) ** Execute deploy:upload DEBUG [46140fa8] Running [ ! -d /var/www/html/shared/config ] as panda@xxx.xxx.xxx.xx DEBUG [46140fa8] Command: [ ! -d /var/www/html/shared/config ] DEBUG [a63f4728] Finished in 0.200 seconds with exit status 1 (failed). DEBUG Uploading config/database.yml 0.0% cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as pande@xxx.xxx.xxx.xx: scp: /var/www/html/shared/config/database.yml: Permission denied
となります。
追記2
/var/www/html/shared/config/database.ymlのファイルをVPS側でroot(#)で作成したのでそれが原因なのでしょうか?作業用ユーザー($)で作成しなければいけなかったのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。