我是卡皮斯特拉诺3的新手。
我想将我的 php 应用程序部署到public_html文件夹(我正在使用 cPanel)
我将deploy_to
设置为这样:set :deploy_to, '/home/username/public_html'
当我跑步时:
cap production deploy
它已成功上传到我的服务器,但它部署到releases
并current
文件夹,而不是public_html
根目录
问题是,如何使卡皮斯特拉诺上传到我的public_html根文件夹?
您需要部署到类似/home/username/code 的内容
然后,您可以创建从/home/username/public_html 到/home/username/code 的符号链接
该命令如下所示:
ln -s /home/username/code /home/username/public_html
您可以通过先在public_html外部部署文件进行处理,然后将当前版本符号链接到public_html fodler,如下所示:
1)在您的config/deploy.rb或config/deploy/****.rb文件中,将deploy_to设置为public_html之外的另一个文件夹,例如
set :deploy_to , '/home/username/deploy'
或 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