将带有Capistrano 3的PHP文件部署到public_html而不是releases文件夹

将带有Capistrano 3的PHP文件部署到public_html而不是releases文件夹,php,capistrano3,Php,Capistrano3,我是Capistrano 3的新手。 我想将我的php应用程序部署到public_html文件夹(我正在使用cPanel) 我将我的deploy\u设置为如下内容: 设置:部署到“/home/username/public\u html” 当我跑步时: cap生产部署 它已成功上载到我的服务器,但已部署到releases和current文件夹,而不是根目录public\u html 我的问题是,如何使Capistrano上载到我的公共\u html根文件夹?您将希望部署到/home/userna

我是Capistrano 3的新手。
我想将我的php应用程序部署到public_html文件夹(我正在使用cPanel)

我将我的
deploy\u设置为如下内容:
设置:部署到“/home/username/public\u html”

当我跑步时:
cap生产部署
它已成功上载到我的服务器,但已部署到
releases
current
文件夹,而不是根目录
public\u html


我的问题是,如何使Capistrano上载到我的公共\u 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.rbconfig/deploy/**.rb文件中,将deploy\u设置为public\u html之外的另一个文件夹

设置:部署到“/home/username/deploy”

2) 在config/deploy.rbconfig/deploy/**.rb文件中,添加一个带有公共html路径的变量

set:public\u html\u路径,'/home/username/public\u html'

3) 在创建当前发布符号链接后,将自定义任务发布公共html添加到公共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