Apache2, Git, Capistrano & Rails - создание символических ссылок - PullRequest
1 голос
/ 02 марта 2010

Я вроде застрял с добавлением символических ссылок в свое приложение на сервере. В настоящее время у меня есть следующее в .gitignore:

/ непубличная / системы / добавление / ** * 1003

Я не хочу, чтобы Git сохранял содержимое каталога загрузки. Пока все хорошо.

На моем сервере, внутри моего deploy.rb, у меня есть следующее:

namespace :customs do
  task :symlink, :roles => :app do
    run <<-CMD
      ln -nfs #{shared_path}/system/uploads #{release_path}/non-public/system/uploads
    CMD
  end
end

after "deploy:symlink","customs:symlink"
after "deploy", "deploy:cleanup"

Я хочу создать символическую ссылку после каждого развертывания для каталога загрузки, но я получаю сообщение об ошибке, потому что каталог public / system / uploads не существует в репозитории git.

Я проверил это, посмотрев на хранилище, и структура / non-public / system / uploads не существует, потому что у меня есть этот набор в .gitignore, чтобы игнорировать его.

Я смотрел на Git wiki, и он не отслеживает каталоги, поэтому я должен что-то упустить. Как другие разработчики связывают каталог загрузок со своим сервером?

1 Ответ

0 голосов
/ 02 марта 2010

Что я обычно делаю при развертывании шапки - это создание каталогов, выполняя базовые

set :deploy_to, "/this/dir"

run "mkdir -p #{deploy_to}/then/more/dirs"

after "deploy:symlink"

namespace :deploy....
  ....
  ....

затем предоставьте код run для создания некоторых символических ссылок либо на after, либо как угодно. Это, вероятно, не оптимально для всех ситуаций, но для простых вещей обычно выполняет свою работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...