पर तैनात है, मैं दोनों रूजिंग और फिर कैपिस्ट्रानो का उपयोग करके उत्पादन के लिए रूबी ऑन रेल ऐप को तैनात करने की कोशिश कर रहा हूं। डोमेन और: भंडारकैपिस्ट्रानो स्टेजिंग और उत्पादन
मैं इस गाइड यहाँ का पालन किया है:
दोनों के बीच फर्क सिर्फ इतना है https://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension
मैं नेट के आसपास खोज की है और सभी मुझे लगता है लेख है कि मूल रूप से मिश्रित कर रहे हैं क्या मेरे ऊपर है
मैं सिर्फ स्थापित करने की कोशिश की है: डोमेन और: में भंडार config/तैनाती/staging.rb और config/तैनाती/production.rb
मुझे यकीन है कि मैं वर्तनी उप dirs बनाने के लिए मेरी वर्तनी जाँच कर ली है सही ढंग से और फ़ाइलों के नाम।
इस लेख को पढ़ना: staging and live app with capistrano ऐसा लगता है कि मुझे यहां अंतरों को घोषित करने में सक्षम होना चाहिए।
ऐसा लगता है कि staging.rb फ़ाइल वास्तव में पढ़ा जा रहा है। मैंने अपनी "deploy.rb" को पहली पंक्ति के रूप में एक कसम खाता है, "टोपी तैनाती" मुझे अपेक्षित त्रुटि देता है।
`method_missing': undefined local variable or method `domain'
प्रश्न में लाइन है:
role :web, domain
अगर मैं एक एकल "staging.rb" या "production.rb" मैं एक ही त्रुटि मिलती है की पहली पंक्ति पर शब्द कसम डाल
क्योंकि मूल्य उठाया नहीं जा रहा है। लेकिन निश्चित रूप से यह staging.rb या production.rb में एकल कसम शब्द पर असफल होना चाहिए और बिल्कुल नहीं चलना चाहिए?
यदि मैं डोमेन और: भंडार को मुख्य "deploy.rb" फ़ाइल में वापस ले जाता हूं तो मुझे कसम खाता के साथ त्रुटि मिलती है। तो ऐसा लगता है कि मैं "staging.rg" और "production.rb" फ़ाइलों में चर सेट नहीं कर सकता लेकिन केवल कार्य पूर्ण करता हूं।
किसी भी मदद की बहुत सराहना या आपको लगता है मैं सिर्फ पिज्जा डिलीवरी काम लेना चाहिए कर किया जाएगा ...
deploy.rb:
require 'capistrano/ext/multistage'
set :stages, %w(production staging)
set :default_stage, "staging"
set :user, 'dave'
set :applicationdir, "~/rails/example.com"
set :scm, 'git'
set :git_enable_submodules, 1 # if you have vendored rails
set :branch, 'master'
set :git_shallow_clone, 1
set :scm_verbose, true
set :keep_releases, 5
after "deploy:update", "deploy:cleanup"
# roles (servers)
role :web, domain
role :app, domain
role :db, domain, :primary => true
after "deploy", "deploy:migrate"
# deploy config
set :deploy_to, applicationdir
set :deploy_via, :export
# set :rake, 'bundle exec rake'
# additional settings
default_run_options[:pty] = true # Forgo errors when deploying from windows
set :ssh_options, {:forward_agent => true}
#ssh_options[:keys] = %w(/home/user/.ssh/id_rsa) # If you are using ssh_keysset :chmod755, "app config db lib public vendor script script/* public/disp*"set :use_sudo, false
# Passenger
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run " touch #{File.join(current_path,'tmp','restart.txt')}"
end
end
और मेरे config/तैनात/staging.rb फ़ाइल : मुख्य "deploy.rb" यह सब ठीक है और बांका काम करता है में भंडार: डोमेन और:
set :domain, 'example.com'
set :repository, "ssh://[email protected]/~/rails/chamonix-mont-blanc.net"
अगर मैं डाल दिया।
स्पॉट ऑन। आपका बहुत बहुत धन्यवाद!! सब काम कर रहे हैं। मैं पिज्जा डिलीवरी फर्म को बताउंगा कि मैं उनका काम नहीं चाहता !! –