5

hey folks Tôi đang gặp vấn đề khi triển khai ứng dụng đường ray 3.2.6 của tôi vào sản xuất, triển khai có vẻ ổn cho đến khi nó được để precompiling tài sản ở đây là lỗi tôi nhận được:Triển khai để sản xuất trong Rails 3.2.6 với Twitter-Bootstrap-Rails

command finished in 1740ms 
    * executing "cd /home/deployer/apps/stealthygecko/releases/20120717222341 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile" 
servers: ["xx.xxx.xxx.xxx"] 
[xx.xxx.xxx.xxx] executing command 
** [out :: xx.xxx.xxx.xxx] rake aborted! 
** [out :: xx.xxx.xxx.xxx] no such file to load -- addressable/uri 
** [out :: xx.xxx.xxx.xxx] 
** [out :: xx.xxx.xxx.xxx] (See full trace by running task with --trace) 
command finished in 3131ms 
*** [deploy:update_code] rolling back 
* executing "rm -rf /home/deployer/apps/stealthygecko/releases/20120717222341; true" 
servers: ["xx.xxx.xxx.xxx"] 
[xx.xxx.xxx.xxx] executing command 
command finished in 786ms 
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '[email protected]_rewrite' -c 'cd /home/deployer/apps/stealthygecko/releases/20120717222341 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" 

tôi đã cố gắng thiết lập "config.assets.compile = false" để xem nếu điều này giúp nhưng tôi vẫn nhận được lỗi tương tự.

đây là kịch bản triển khai của tôi:

server "xx.xxx.xxx.xxx", :web, :app, :db, primary: true                                      
depend :remote, :gem, "bundler", ">=1.1.3"                                         
depend :remote, :gem, "rake", ">=0.9.2.2"                                         

set :application, "stealthygecko"                                           
set :user, :"deployer"                                              
set :deploy_to, "/home/#{user}/apps/#{application}"                                       
set :deploy_via, :remote_cache                                            
set :use_sudo, false                                               

set :scm, :git                                                
set :repository, "[email protected]:StealthyGecko/stealthygecko.git"                                   
set :branch, "master"                                              

default_run_options[:pty] = true                                            
set :ssh_options, {:forward_agent => true}                                         

set :ruby_version, "ruby-1.9.2"                                            
set :gemset_name, "stealthygecko_rewrite"                                         
set :rvm_ruby_gemset, "#{ruby_version}@#{gemset_name}"                                      
set :bundle_without, [:darwin, :development, :test]                                       

require "rvm/capistrano"                                              
load 'deploy/assets'                                               
set :rvm_ruby_string, "#{rvm_ruby_gemset}"       # Select the gemset                              
set :rvm_type, :user            # RVM install is in the deploying user's home directory                     
#                                                   
before "deploy:assets:precompile", "bundle:install"                                       
after "deploy", "deploy:cleanup" # keep only the last 5 releases                                    

namespace :deploy do                                               
    %w[start stop restart].each do |command|                                         
    desc "#{command} unicorn server"                                           
    task command, roles: :app, except: {no_release: true} do                                     
     run "cd #{deploy_to}/current && /etc/init.d/unicorn_stealthygecko restart"                                

    end                                                  
    end                                                  

    task :setup_config, roles: :app do                                           
    puts "Symlinking nginx and unicorn configs"                                        
    sudo "ln -nfs #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application}"                             
    sudo "ln -nfs #{current_path}/config/unicorn_init.sh /etc/init.d/unicorn_#{application}"                             
    run "mkdir -p #{shared_path}/config"                                          
    put File.read("config/database.example.yml"), "#{shared_path}/config/database.yml" 
    puts "Now edit the config files in #{shared_path}."                                      
    end                                                  
    after "deploy:setup", "deploy:setup_config"                                        

    task :symlink_config, roles: :app do                                          
    puts "Symlinking database yml"                                           
    run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"                              
    puts "Database Symlink done!"                                           
    end                                                  
    after "deploy:finalize_update", "deploy:symlink_config"                                     

    desc "Make sure local git is in sync with remote."                                       
    task :check_revision, roles: :web do                                          
    unless `git rev-parse HEAD` == `git rev-parse origin/master`                                    
     puts "WARNING: HEAD is not the same as origin/master"                                     
     puts "Run `git push` to sync changes."                                         
     exit                                                 
    end                                                  
    end                                                  
    before "deploy", "deploy:check_revision"                                         
end 

Xin lỗi nếu nó là một chút của một mớ hỗn độn của mình gom góp từ Tutorials khác nhau tôi đọc lên trên. Và đây là Gemfile tôi:

source 'http://rubygems.org'                                             

gem 'rake'                                                 
gem 'rails', '3.2.6'                                               
gem 'mysql2'                                                 
gem 'bcrypt-ruby', '~> 3.0.0'                                            
gem 'gravtastic'                                                
gem "friendly_id"                                               
gem "rinku", '~>1.2.2', :require => 'rails_rinku'                                       
gem "videawesome"                                               
gem "will_paginate", "~>3.0.3"                                            
gem "tweet-button"                                               
gem "bitly"                                                 
gem "sanitize"                                                
gem "newrelic_rpm"                                               
gem 'capistrano'                                                
gem 'rvm-capistrano'                                               
gem "unicorn", "~> 4.2.1"                                             
gem "twitter", "2.2.2"                                              
gem 'instagram', :git => 'git://github.com/StealthyGecko/instagram-ruby-gem-lee.git'                               

group :assets do                                                
    gem 'coffee-script'                                              
    gem 'jquery-rails'                                               
    gem 'uglifier'                                                
    gem 'therubyracer'                                               
    gem 'execjs'                                                
    gem 'twitter-bootstrap-rails'                                            
end                                                   

gem 'rspec-rails', :group => [:test, :development]                                       
group :test do                                                
    gem 'sqlite3'                                                
    gem 'guard-rspec'                                               
    gem 'capybara'                                                
    gem 'launchy'                                                
    gem 'shoulda', '3.0.0.beta2'                                            
    gem 'factory_girl_rails'                                             
    gem 'ruby-debug19', :require => 'ruby-debug'                                        
    gem 'turn', :require => false                                            
end 

Tôi biết một chút một shot dài nhưng nếu có ai có thể nhận ra nơi tôi sẽ sai hoặc nếu có ai đã đưa ra chống lại vấn đề này và được quản lý để giải quyết nó xin vui lòng cho tôi biết như tôi đã đập đầu của tôi chống lại vấn đề này trong một vài giờ ngay bây giờ.


khi nó không thành công của nó dường như nói "không có tập tin để tải - địa chỉ/uri" Tuy nhiên tôi không chắc chắn nơi này đang được sử dụng và tại sao nó được sử dụng đối với tài sản biên soạn

bất kỳ đề xuất?

+0

Là nội dung com pilation trên máy chủ bằng cách sử dụng bundler để biên dịch trước? Có vẻ như vấn đề tải phụ thuộc. – joshnesbitt

+0

yeah nó là, hoặc ít nhất nó đã được triển khai cuối cùng –

Trả lời

1

Rõ ràng cố định sau đây: http://www.kudelabs.com/2012/03/28/rails-3-2-cap-deploy-with-assets


UPDATE2: Sau khi xem xét kịch bản nắp của bạn, bạn có before "deploy:assets:precompile", "bundle:install"

Cố gắng loại bỏ điều đó và nói thêm: require 'bundler/capistrano'

Xóa e load 'deploy/assets' và đặt trong Capfile của bạn.


CẬP NHẬT: Sau khi xem rails generate rspec:install returns 'Could not find addressable-2.2.8 in any of the sources'http://addressable.rubyforge.org/api/.

Kiểm tra Gemfile.lock bạn

Using addressable (X.X.X) 

Đó có lẽ nên được một sự phụ thuộc vào một trong những viên ngọc trong Gemfile của bạn. Nếu không, bạn có thể thử và thêm nó theo cách thủ công.

Tôi có ...

... 
# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'therubyracer', :platforms => :ruby 
    gem 'uglifier', '>= 1.0.3' 
    gem 'twitter-bootstrap-rails' 
end 
... 

và trong Gemfile tôi.khóa

... 
addressable (2.2.8) 
... 

$ cat Capfile 

Bạn cần phải bỏ ghi chú tải 'triển khai/tài sản'

load 'deploy' 
# Uncomment if you are using Rails' asset pipeline 
load 'deploy/assets' 
Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } 
load 'config/deploy' # remove this line to skip loading any of the default tasks 
+0

Hi @Moriarty, Cảm ơn bạn đã phản ứng của bạn ở đây là của tôi Capfile: 'tải 'deploy' yêu cầu "bundler/capistrano" Dir ['vendor/gems/*/recipes/*. rb', 'vendor/plugins/*/recipes/*. rb']. mỗi {| plugin | load (plugin)} tải 'config/deploy' # xóa dòng này để bỏ qua bất kỳ nhiệm vụ mặc định nào tải 'deploy/assets'' Như bạn có thể thấy tôi đã bỏ ghi chú dòng bạn đã đề cập. –

+0

Roger. Tôi đã cập nhật bài đăng của mình. – Moriarty

+0

Lượt truy cập @Moriarty Cảm ơn bạn một lần nữa, vì sự giúp đỡ liên tục của bạn. đã kiểm tra Gemfile.lock và của nó ở ba nơi, đầu tiên là ngày của riêng mình, sau đó của nó như là một sự phụ thuộc của launchy và libwebsocket. Tôi cũng đã cố gắng sử dụng cùng một nhóm nội dung như bạn đã mô tả trong bài đăng của bạn và thật đáng buồn vì nó vẫn phàn nàn rằng nó không thể tải địa chỉ/uri Điều này đang bắt đầu thực sự bực bội. –

0

Bạn đã thử biên dịch trước nội dung cục bộ chưa?

Cố gắng chạy

$ RAILS_ENV=prodution bundle exec rake assets:precompile 
+0

Cảm ơn bạn repsonse @quilyquinto, tôi đã thử này và nó biên dịch trước mà không có vấn đề tại địa phương –

0

tôi phải bỏ ghi chú thêm 2 dòng sau từ Capfile tôi để có được tài sản để triển khai đầy đủ , nếu không phông chữ không triển khai:

require 'capistrano/rails/assets' 
require 'capistrano/rails/migrations' 
Các vấn đề liên quan