Отказано в разрешении на создание каталогов с помощью cap deploy: setup - PullRequest
3 голосов
/ 04 февраля 2012

Я пытаюсь настроить мой рабочий сервер для capifony.Я настроил мой deploy.rb следующим образом:

set :application,   "myappname"
set :domain,        "#{application}.eu"
set :deploy_to,     "/#{application}"   # I don't know if this is correct?

default_run_options[:pty] = true
#set :repository,   "#{domain}:/var/repos/#{application}.git"
set :repository,    "/home/username/myappname"
set :scm,           :git
set :deploy_via,    :rsync_with_remote_cache

set :model_manager, "doctrine"

role :web,        domain                        
role :app,        domain                         
role :db,         domain, :primary => true       

set  :keep_releases,  3

set  :user,       "mylogintossh"
set  :use_sudo,   false

Он пытается создать / myappname / myappname / release / myappname / shared / myappname / shared / app / logs / myappname / shared / web / uploads

Но в разрешении отказано.Что я здесь не так делаю?:) Спасибо.

Ответы [ 2 ]

1 голос
/ 05 февраля 2012

Вы уверены, что у пользователя mylogintossh есть разрешения на создание там каталогов?Попробуйте войти в систему и проверить разрешения для этого каталога.

В качестве обходного пути вы можете настроить пользователя на sudoers и установить use_sudo на true или установить права доступа /myappname на 777.

0 голосов
/ 05 апреля 2012

Вы можете добавить

set :admin_runner, "my_apps_username"

в config / deploy.rb. В качестве альтернативы вы можете переопределить задачу deploy: setup следующим образом:

namespace :deploy do
  task :setup, :except => { :no_release => true } do
    dirs = [deploy_to, releases_path, shared_path]
    dirs += shared_children.map { |d| File.join(shared_path, d.split('/').last) }
    run "mkdir -p #{dirs.join(' ')}"
    run "chmod g+w #{dirs.join(' ')}" if fetch(:group_writable, true)
  end
end
...