代码之家  ›  专栏  ›  技术社区  ›  nickspiel

在Capistrano 3中创建linked_dirs失败

  •  0
  • nickspiel  · 技术社区  · 9 年前

    我试图用SilverStripe构建来设置Capistrano,但在设置共享目录时遇到了一些问题。

    我设置了linked_dirs 部署.rb 具有以下特征:

    set :linked_dirs, %w{assets vendor}
    

    添加此行后,我得到以下错误:

    [617afa7f] Command: /usr/bin/env mkdir -p /var/www/website/releases/20160215083713 /var/www/website/releases/20160215083713
    INFO [617afa7f] Finished in 0.250 seconds with exit status 0 (successful).
    DEBUG [88c3de20] Running /usr/bin/env [ -L /var/www/website/releases/20160215083713/assets ] as capistrano@128.199.231.152
    DEBUG [88c3de20] Command: [ -L /var/www/website/releases/20160215083713/assets ]
    DEBUG [88c3de20] Finished in 0.258 seconds with exit status 1 (failed).
    DEBUG [3d61c1c4] Running /usr/bin/env [ -d /var/www/website/releases/20160215083713/assets ] as capistrano@128.199.231.152
    DEBUG [3d61c1c4] Command: [ -d /var/www/website/releases/20160215083713/assets ]
    DEBUG [3d61c1c4] Finished in 0.254 seconds with exit status 1 (failed).
    INFO [3016a8cd] Running /usr/bin/env ln -s /var/www/website/shared/assets /var/www/website/releases/20160215083713/assets as capistrano@128.199.231.152
    

    说到Capistrano,我是一个超级新手,说到服务器配置和权限,我是个半新手,所以任何建议都会很感激。

    1 回复  |  直到 9 年前
        1
  •  1
  •   will_in_wi Md Sirajus Salayhin    9 年前

    它可能并没有真正失败。关于卡皮斯特拉诺,有一件事需要知道 (success) (failed) 实际上正在返回 exit status , (成功) 如果0和 (失败) 如果非0。

    如果我们看看有问题的命令,它说 /usr/bin/env [ -L /var/www/website/releases/20160215083713/assets ] 失败。该命令表示“如果 /var/www/website/releases/20160215083713/assets 存在并且是一个链接( -L ). 这失败了,但这意味着它返回非0,因此需要创建链接。请注意,下一个命令也会失败( -d )断言路径是目录。输出中的最后一行实际上是创建有问题的链接。

    您可以在这里的Capistrano代码库中看到测试: https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/deploy.rake#L128

    您可以使用 https://github.com/mattbrictson/airbrussh 这是由一位主要的Capistrano开发人员开发的。

    作为旁注,类似地,终端中的所有绿色文本都是 stdout 红色文本为 stderr 。这也可能令人困惑。