質問編集履歴

1

コードを追記しました。

2019/03/13 14:06

投稿

koume
koume

スコア458

test CHANGED
File without changes
test CHANGED
@@ -46,80 +46,6 @@
46
46
 
47
47
  /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)>'
48
48
 
49
-
50
-
51
- /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'
52
-
53
- /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'
54
-
55
- /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'
56
-
57
- /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'
58
-
59
- /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'
60
-
61
- /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'
62
-
63
- /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)>'
64
-
65
- /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'
66
-
67
- /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/exe/bundle:22:in `<top (required)>'
68
-
69
- /home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
70
-
71
- /home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
72
-
73
- Task Argument Error
74
-
75
- /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'
76
-
77
- /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'
78
-
79
-
80
-
81
- /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'
82
-
83
- /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb:147:in `namespace'
84
-
85
- config/deploy.rb:149:in `<top (required)>'
86
-
87
- /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'
88
-
89
- /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)>'
90
-
91
- /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!'
92
-
93
- /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/2.3.0/delegate.rb:83:in `method_missing'
94
-
95
- /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)>'
96
-
97
- /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'
98
-
99
- /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'
100
-
101
-
102
-
103
- /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'
104
-
105
- /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:100:in `top_level'
106
-
107
- /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'
108
-
109
- /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'
110
-
111
-
112
-
113
- /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'
114
-
115
- /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'
116
-
117
-
118
-
119
- /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'
120
-
121
- /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.3/exe/bundle:22:in `<top (required)>'
122
-
123
49
  /home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
124
50
 
125
51
  /home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
@@ -131,3 +57,105 @@
131
57
  ```
132
58
 
133
59
  デプロイは初めてでわからないことだらけですが、宜しくお願いします。
60
+
61
+
62
+
63
+ 追記
64
+
65
+
66
+
67
+ サイトでいろいろ調べていたところCapistrano v2 DSLをCapistrano v3と一緒に使用しているために発生しているらしいのですが
68
+
69
+ 対処方法がわからないので教えてください。
70
+
71
+ サイトでは
72
+
73
+ ```ここに言語を入力
74
+
75
+ オプションroles: :appを次のようなブロックに置き換える必要があります。
76
+
77
+
78
+
79
+ task :my_task do
80
+
81
+ on roles(:app) do
82
+
83
+ ...
84
+
85
+ end
86
+
87
+ end
88
+
89
+ ```
90
+
91
+ とありました。
92
+
93
+ 参考書のバージョンは2.14.2で自分のバージョンは3.11.0ですのでエラーになってしまったようでした。
94
+
95
+ 問題の発生コードは以下になります。(参考書のコードをそのまま記述しています。)
96
+
97
+
98
+
99
+ ※capistranoでデータベースのバックアップを自動化するコードです。
100
+
101
+ ```ここに言語を入力
102
+
103
+ config/deploy.rb
104
+
105
+
106
+
107
+ namespace :db do
108
+
109
+ desc "Dump the database and compress it."
110
+
111
+ task :backup, :roles => :db, :only => { :primary => true } do #ここのコードを変更するのだと思います。
112
+
113
+ backups_path = "#{shared_path}/db_backups"
114
+
115
+
116
+
117
+ date = capture "cat #{current_path}/config/database.yml"
118
+
119
+ config = YAML::load(data)[rails_env]
120
+
121
+ abort unless config && config['adapter'] == 'mysql2'
122
+
123
+
124
+
125
+ file_name = "#{config['database']}-#{release_name}.sql.gz"
126
+
127
+
128
+
129
+ command = "/usr/bin/mysqldump --user=#{config['username']}"
130
+
131
+ command += " --password" if config['password']
132
+
133
+ command += " --host=#{config['host']}" if config['host']
134
+
135
+ command += " --port=#{config['port']}" if config['port']
136
+
137
+ command += " #{config['database']}"
138
+
139
+ command += " | gzip -c > #{backups_path}/#{file_name}"
140
+
141
+
142
+
143
+ run "mkdir -p #{backups_path}"
144
+
145
+ run command do |channel, _, output|
146
+
147
+ if output =~ /^Enter password:/
148
+
149
+ channel.send_data "#{config['password']}n"
150
+
151
+ end
152
+
153
+ end
154
+
155
+ end
156
+
157
+ end
158
+
159
+ ```
160
+
161
+ どのように記述するべきなのでしょうか?ご教示お願いします。