2013-05-07 51 views
2

我使用的轨道,并试图利用Capistrano的到BlueHost的部署它构建一个示例应用程序。 但我不这样做。我跟着这个http://vasil-y.com/2012/08/21/rails-capistrano-git-bluehost/参数错误,同时通过Capistrano的应用程序部署轨BLUEHOST

提到的说明这是我的配置/ deploy.rb的内容:

require 'bundler/capistrano' 

set :application, "rails_scaffold" 

# BlueHost SSH user 
set :user, "username" 

# App Domain 
set :domain, "example.com" 

# We don't need sudo on BlueHost 
set :use_sudo, false 

# git is our SCM 
set :scm, :git 

# master is our default git branch 
set :branch, "master" 

# Use local git repository 
set :repository, "#{domain}:/home/#{user}/rails_apps/#{application}" 
set :local_repository, "." 

# Checkout, compress and send a local copy 
set deploy_via, :copy 
set deploy_to, "/home/#{user}/rails_apps/#{application}" 

# We have all components of the app on the same server 
server domain, :app, :web, :db, :primary => true 

namespace :deploy do 
    task :start do ; end 
    task :stop do ; end 

    # Touch tmp/restart.txt to tell Phusion Passenger about new version 
    task :restart, :roles => :app, :except => { :no_release => true } do 
    run "touch #{File.join(current_path, 'tmp', 'restart.txt')}" 
    end 
end 

# Clean-up old releases 
after "deploy:restart", "deploy:cleanup" 

但是当我运行帽部署:安装命令,我收到以下错误:

/home/swaroop/.rvm/gems/ruby-1.9.3-p362/gems/capistrano-2.14.2/lib/capistrano/configuration/variables.rb:22:in `set': invalid variable `/u/apps/rails_scaffold' (variables must begin with an underscore, or a lower-case letter) (ArgumentError) 

报告说,应用程序的名称必须以下划线或小写字母开头。我的应用程序名称看起来像是有效的。 我在这里做错了什么?

谢谢

回答

2

一对夫妇的set电话已经论据不是符号:

set deploy_via, :copy 
set deploy_to, "/home/#{user}/rails_apps/#{application}" 

这些应该是:

set :deploy_via, :copy 
set :deploy_to, "/home/#{user}/rails_apps/#{application}" 

deploy_viadeploy_to之前,请注意冒号)

你可以看到为什么它可能看起来与您:application变量,如果我们考察什么是包含:deploy_to行发生的事情:它首先调用deploy_to方法(因为你缺少冒号,它看起来像一个方法调用)和deploy_to违约到"/u/apps/#{application}"Capistrano source code

_cset(:deploy_to) { "/u/apps/#{application}" } 

所以真的,你的代码是有效试图尝试运行此:

set "/u/apps/#{application}", "/home/#{user}/rails_apps/#{application}" 

"/u/apps/#{application}"不Capistrano的一个有效的变量名。将冒号添加到这些行应该修复它。

+1

谢谢你的回复。肯定会试试这个。 – swaroopsm 2013-05-07 13:26:49

相关问题