Я пытаюсь развернуть рубин на рельсах с помощью 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
Можете ли вы опубликовать свой файл deploy.rb здесь, чтобы посмотреть !! –