1

我已经为此苦苦挣扎了一段时间。在 capifony 下,我运行 $ cap deploy:setup 并在我的远程主机上创建两个文件:1/ 发布 2/ 共享。我认为这表明到目前为止一切都很完美。

但是当我开始部署时,出现以下错误。

    *** [err :: ***] ln: creating symbolic link `public_html/Symfony/releases/20120814164750/app/logs': Permission denied
    *** [deploy:update_code] rolling back
    failed: "sh -c 'ln -nfs public_html/Symfony/shared/app/logs public_html/Symfony/releases/20120814164750/app/l

ogs'"

看起来没有任何内容被复制到版本中。很多都复制到shared(也许所有)我不知道是否正常。

我可以得到你的建议,我可以如何解决这个问题吗?我应该在哪里寻找一些提示。我一无所知.. 非常感谢。

PS:下面是我的 deploy.rb 文件

set   :application,   "My app"
set   :deploy_to,     "public_html/Symfony"
set   :domain,        "mydomain.com"
ssh_options[:port] = "2222"
set :user, "****"

set   :scm,           :git
set   :repository,    "file:///media/Pierre/Symfony"
set   :deploy_via,    :rsync_with_remote_cache

role  :web,           domain
role  :app,           domain
role  :db,            domain, :primary => true

set   :use_sudo,      false
set   :keep_releases, 3

set :shared_files,      ["app/config/parameters.yml"]

set :shared_children,     [app_path + "/logs", web_path + "/uploads", "vendor"]

set :use_composer, true

set :update_vendors, true
4

2 回答 2

0

根据您发布的内容,我有两个建议。

首先是它与权利有关。检查文档中的“设置权限”部分:http: //symfony.com/doc/current/book/installation.html#configuration-and-setup。由于共享日志,这可能是一个问题。

但是,如果这是您的第一次部署,那么您是否有 app/logs 目录在版本控制之下?检查您的 .gitignore 是否正确:http ://symfony.com/doc/current/cookbook/workflow/new_project_git.html

于 2012-09-06T18:36:26.187 回答
0

我通过在 deploy.rb 文件中添加以下行来修复此错误:

ssh_options[:forward_agent] = true
default_run_options[:pty] = true

答案对于调试 capistrano 并准确找出导致部署失败的错误很有用。

于 2014-04-27T13:54:42.790 回答