質問編集履歴
1
コードを追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,46 +22,60 @@
|
|
22
22
|
config/deploy.rb:149:in `<top (required)>'
|
23
23
|
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capistrano-3.11.0/lib/capistrano/setup.rb:27:in `load'
|
24
24
|
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capistrano-3.11.0/lib/capistrano/setup.rb:27:in `block (3 levels) in <top (required)>'
|
25
|
-
|
26
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
|
27
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
|
28
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor.rb:369:in `dispatch'
|
29
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/cli.rb:22:in `dispatch'
|
30
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor/base.rb:444:in `start'
|
31
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/cli.rb:13:in `start'
|
32
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/exe/bundle:30:in `block in <top (required)>'
|
33
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
|
34
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/exe/bundle:22:in `<top (required)>'
|
35
25
|
/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
|
36
26
|
/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
|
37
|
-
|
27
|
+
Tasks: TOP => production
|
38
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/task_manager.rb:109:in `resolve_args_with_dependencies'
|
39
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/task_manager.rb:75:in `resolve_args'
|
40
28
|
|
41
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/task_manager.rb:209:in `in_namespace'
|
42
|
-
|
29
|
+
```
|
43
|
-
|
30
|
+
デプロイは初めてでわからないことだらけですが、宜しくお願いします。
|
44
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capistrano-3.11.0/lib/capistrano/setup.rb:27:in `load'
|
45
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capistrano-3.11.0/lib/capistrano/setup.rb:27:in `block (3 levels) in <top (required)>'
|
46
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capistrano-3.11.0/lib/capistrano/configuration/variables.rb:32:in `untrusted!'
|
47
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/2.3.0/delegate.rb:83:in `method_missing'
|
48
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capistrano-3.11.0/lib/capistrano/setup.rb:26:in `block (2 levels) in <top (required)>'
|
49
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:240:in `block in execute'
|
50
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:235:in `each'
|
51
31
|
|
52
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:115:in `run_with_threads'
|
53
|
-
|
32
|
+
追記
|
54
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:78:in `block in run'
|
55
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
|
56
33
|
|
57
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
|
58
|
-
|
34
|
+
サイトでいろいろ調べていたところCapistrano v2 DSLをCapistrano v3と一緒に使用しているために発生しているらしいのですが
|
35
|
+
対処方法がわからないので教えてください。
|
36
|
+
サイトでは
|
37
|
+
```ここに言語を入力
|
38
|
+
オプションroles: :appを次のようなブロックに置き換える必要があります。
|
59
39
|
|
60
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
|
61
|
-
/home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/exe/bundle:22:in `<top (required)>'
|
62
|
-
/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
|
63
|
-
/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
|
64
|
-
|
40
|
+
task :my_task do
|
41
|
+
on roles(:app) do
|
42
|
+
...
|
43
|
+
end
|
44
|
+
end
|
45
|
+
```
|
46
|
+
とありました。
|
47
|
+
参考書のバージョンは2.14.2で自分のバージョンは3.11.0ですのでエラーになってしまったようでした。
|
48
|
+
問題の発生コードは以下になります。(参考書のコードをそのまま記述しています。)
|
65
49
|
|
50
|
+
※capistranoでデータベースのバックアップを自動化するコードです。
|
51
|
+
```ここに言語を入力
|
52
|
+
config/deploy.rb
|
53
|
+
|
54
|
+
namespace :db do
|
55
|
+
desc "Dump the database and compress it."
|
56
|
+
task :backup, :roles => :db, :only => { :primary => true } do #ここのコードを変更するのだと思います。
|
57
|
+
backups_path = "#{shared_path}/db_backups"
|
58
|
+
|
59
|
+
date = capture "cat #{current_path}/config/database.yml"
|
60
|
+
config = YAML::load(data)[rails_env]
|
61
|
+
abort unless config && config['adapter'] == 'mysql2'
|
62
|
+
|
63
|
+
file_name = "#{config['database']}-#{release_name}.sql.gz"
|
64
|
+
|
65
|
+
command = "/usr/bin/mysqldump --user=#{config['username']}"
|
66
|
+
command += " --password" if config['password']
|
67
|
+
command += " --host=#{config['host']}" if config['host']
|
68
|
+
command += " --port=#{config['port']}" if config['port']
|
69
|
+
command += " #{config['database']}"
|
70
|
+
command += " | gzip -c > #{backups_path}/#{file_name}"
|
71
|
+
|
72
|
+
run "mkdir -p #{backups_path}"
|
73
|
+
run command do |channel, _, output|
|
74
|
+
if output =~ /^Enter password:/
|
75
|
+
channel.send_data "#{config['password']}n"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
66
80
|
```
|
67
|
-
|
81
|
+
どのように記述するべきなのでしょうか?ご教示お願いします。
|