deployment - Capistrano 部署 :setup works but not deploy:check

标签 deployment capistrano

使用简单的方法测试 Capistrano。

$ cap deploy:setup
  * executing `deploy:setup'
  * executing "sudo -p 'sudo password: ' mkdir -p /u/apps/ [..]
    [..]

deploy:setup 按预期工作。

但是

$ cap deploy:check
  * executing `deploy:check'
  * executing "test -d /u/apps/[..]
    [..]

运行 deploy:check 时出现以下错误:

The following dependencies failed. Please check them and try again:
--> You do not have permissions to write to `/u/apps/
[..]
--> `/u/apps/app/shared is not writable [..]

deploy:check 模式下,capistrano 似乎没有使用 sudo。

我不明白!

虽然在 deploy:setup 中整个目录结构是由 capistrano 创建的,没有任何问题?

为什么 capistrano 不像 deploy:check 那样使用 sudo?

最佳答案

我也遇到了这个问题,结果是 capistrano 在 <user> 下创建了所有文件夹。除共享文件夹外的组。 SSH 到您的服务器并做一个长列表 ls -l .如果您看到 - root - root - 对于共享文件夹,您只需要更新该文件夹的权限:

sudo chown <user> shared
sudo chgrp <user> shared

关于deployment - Capistrano 部署 :setup works but not deploy:check,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13516427/

相关文章:

mysql - 从位于 (heroku.com) 的应用程序连接到位于 (pythonanywhere.com) 的 MySQL 数据库

git - 进行 www-data 拥有的 git 部署

ruby-on-rails - 超时::错误:Capistrano/Rubber 执行已过期

ruby-on-rails - Rails 4 binstubs 冲突的 Capistrano 3 部署?

java - 如何使程序能够安装

java - 在 Tomcat 上部署 WAR

ruby-on-rails - 将预编译的 Rails 3.1 Assets 上传到 Amazon S3 的工作 Capistrano 配方

ruby-on-rails - Capistrano 3 部署 :migrate not executing due to missing primary

caching - 部署后 Symfony 清除缓存组件

ruby-on-rails - Rails capistrano 根据登录到计算机的用户设置 deploy.rb 变量