Bir Ruby On Rails uygulamasını hem sahneye hem de Capistrano kullanarak prodüksiyona dağıtmaya çalışıyorum. domain ve: Burada bu kılavuzu takipCapistrano hazırlama ve üretime dağıtıyor
depo:
ikisi arasındaki tek fark ben net etrafında aradık https://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension
ve ben bulmak hepsi temelde Rehash makaleleri ne Yukarıda var.
Sadece ayarlama denedim: Etki alanı ve yer: depo config/dağıtmak/staging.rb ve config/dağıtmak/production.rb Eminim alt dizinleri yazıldığından yapmak benim yazımlar kontrol ettiniz
doğru ve dosyaların isimleri.
Bu makaleyi okuyun: staging and live app with capistrano Sadece burada farklılıkları açıklayabilmem gerekir.
Staging.rb dosyası aslında okunmakta gibi görünmüyor. "Deploy.rb" yi ilk satır olarak tek bir küfür kelimesine sahip olmak için değiştirdim, "kapak dağıtımı" bana beklenen hatayı veriyor.
`method_missing': undefined local variable or method `domain'
söz konusu çizgidir:
role :web, domain
Bir tek "staging.rb" veya "production.rb" Ben aynı hatayı alıyorum ilk satırında küfür koyarsanız
, çünkü değer alınmıyor. Ama kesinlikle staging.rb veya production.rb tek yeminli kelime üzerinde başarısız olmalı ve hiç çalışmaz?
: "Etki alanı ve" deposunu ana "deploy.rb" dosyasına geri taşırsam hatayı küfür kelimesiyle alırım. Yani "staging.rg" ve "production.rb" dosyalarındaki değişkenleri ayarlayamıyorum, ancak sadece görevleri tamamlamam gibi görünüyor.
Herhangi bir yardım çok takdir ya da sadece pizza dağıtım işini almalı sizce olurdu ...
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
Ve config/dağıtmak/staging.rb dosya : ana "deploy.rb" hepsi ince ve züppe eserlerinde yer deposu: domain ve:
set :domain, 'example.com'
set :repository, "ssh://[email protected]/~/rails/chamonix-mont-blanc.net"
ben koyarsam. Böylece
set :domain, 'example.com'
role :web, domain
role :app, domain
role :db, domain, :primary => true
set :repository, "ssh://[email protected]/~/rails/chamonix-mont-blanc.net"
deploy.rb
gelen roller kodu kaldırın sevdiği staging.rb
dosyaya
Spot on. Çok teşekkür ederim!! Hepsi çalışıyor. İşlerini istemediğim pizza dağıtım firmasına anlatacağım! –