2014-01-21 4 views
1

Я пытаюсь развернуть рубин на рельсах с помощью Capistrano. И моя машина разработки, и сервер находятся за прокси-сервером. У меня нет проблем с использованием прокси-сервера на удаленной машине (что касается большинства вопросов, связанных с прокси-сервером и Capistrano).Развертывание приложения из-за локального прокси с помощью Capistrano

Когда Capistrano выполняет команду run_locally, она не содержит никаких переменных окружения, установленных из моего bashrc. Как настроить параметры для Capistrano, когда он запускает команды локально? Команды, подобные executing locally: "git ls-remote https://github.com:user/project.git master, не работают.

deploy.rb

require 'bundler/capistrano' 
require "capistrano-rbenv" 
load 'deploy/assets' 
require 'creds.rb' 
set :rbenv_ruby_version, "1.9.3-p484" 
set :rbenv_repository, "https://github.com/sstephenson/rbenv.git" 

set :application, "visio" 



# Deploy from your local Git repo by cloning and uploading a tarball 
set :scm, :git 
set :repository, "https://github.user/project.git" 
set :deploy_via, :copy 
set :branch, "master" 
set :rails_env,  "production" 


set :user, :deploy 
set :deploy_to, "/var/www/#{application}" 
set :use_sudo, false 

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

role :web, "10.9.43.153"       # Your HTTP server, Apache/etc 
role :app, "10.9.43.153"       # This may be the same as your `Web` server 
role :db, "10.9.43.153", :primary => true # This is where Rails migrations will run 

# ensure http_proxy variables are set 
set :default_environment, { 
    'PATH' => "$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH", 
    'BASH_ENV' => '$HOME/.bashrc', 
    'https_proxy' => 'https://proxy.org.local:8080', 
    'http_proxy' => 'http://proxy.org.local:8080' 
} 

namespace :deploy do 
    task :start do ; end 
    task :stop do ; end 
    task :restart, :roles => :app, :except => { :no_release => true } do 
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" 
    end 
end 
+0

Можете ли вы опубликовать свой файл deploy.rb здесь, чтобы посмотреть !! –

ответ

2

попробовать это

default_run_options[:env] = { 
    'http_proxy' => '192.168.1.10:8080', #Your HTTP proxy server 
    'https_proxy' => '192.168.1.10:8080', #Your HTTPS proxy server 
    'HTTPS_PROXY_REQUEST_FULLURI' => 'false', 
} 

он работал для меня.

источник: http://architects.dzone.com/articles/using-proxy-capifonycapistrano

+0

Спасибо, я попробую и вернусь назад. –

Смежные вопросы