Я новичок в Capistrano 3.
Я хочу развернуть свое php-приложение в папке public_html (я использую cPanel)
Я установил свой deploy_to
что-то вроде этого:
set :deploy_to, '/home/username/public_html'
И когда я бегу:
cap production deploy
Он успешно загружен на мой сервер, но развернут на releases
а также current
папка вместо корневого каталога, который public_html
У меня вопрос, как заставить Capistrano загружать в мою корневую папку public_html?
Вы захотите развернуть что-то вроде / home / username / code
Затем вы можете создать символическую ссылку из / home / username / public_html в / home / username / code
Команда будет выглядеть так:
ln -s /home/username/code /home/username/public_html
Вы можете выполнить обработку, сначала развернув файлы за пределами public_html, а затем вставив символическую ссылку на текущий выпуск в fodler public_html, как показано ниже:
1) В вашем конфиг / deploy.rb или же конфигурации / развернуть / ****. Р.Б. файлы устанавливают deploy_to быть другой папкой вне public_html лайк
set :deploy_to , '/home/username/deploy'
2) В вашем конфиг / deploy.rb или же конфигурации / развернуть / ****. Р.Б. файлы, добавьте переменную с путем к public_html
set :public_html_path, '/home/username/public_html'
3) Добавить пользовательское задание release_public_html создать символическую ссылку на папку public_html после создания символической ссылки на текущий выпуск
after "deploy:symlink:release", "deploy:symlink:release_public_html"
namespace :deploy do
namespace :symlink do
desc "Symlink release to current"task :release_public_html do
on release_roles :all do
public_html_path = "#{fetch(:public_html_path)}"execute :rm, "-rf", public_html_path
execute :ln, "-s", current_path, public_html_path
end
end
end
end