我是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根文件夹?
答案 0 :(得分:1)
您需要部署到/ home / username / code
之类的内容然后你可以创建一个从/ home / username / public_html到/ home / username / code
的符号链接命令看起来像:
ln -s /home/username/code /home/username/public_html
答案 1 :(得分:1)
您可以先在public_html之外部署文件进行处理,然后将当前版本符号链接到public_html fodler,如下所示:
1)在 config / deploy.rb 或 config / deploy / ****。rb 文件中,将 deploy_to 设置为 public_html 之外的另一个文件夹,如
set :deploy_to , '/home/username/deploy'
2)在 config / deploy.rb 或 config / 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