- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从 Capistrano 2 升级到 Capistrano 3,一切似乎都在成功运行,除了我看到这两个在运行时失败:
DEBUG [bbfe01ec] Running /usr/bin/env [ -L /var/www/myapp/releases/20140211033611/public/assets ] on myapp.com
DEBUG [bbfe01ec] Command: [ -L /var/www/myapp/releases/20140211033611/public/assets ]
DEBUG [bbfe01ec] Finished in 0.146 seconds with exit status 1 (failed).
DEBUG [26f99b11] Running /usr/bin/env [ -d /var/www/myapp/releases/20140211033611/public/assets ] on myapp.com
DEBUG [26f99b11] Command: [ -d /var/www/myapp/releases/20140211033611/public/assets ]
DEBUG [26f99b11] Finished in 0.141 seconds with exit status 1 (failed).
为什么会失败,我该如何解决?
最佳答案
我有同样的问题,这里是 capistrano 代码,当您收到这些错误时执行:
desc 'Symlink linked directories'
task :linked_dirs do
next unless any? :linked_dirs
on release_roles :all do
execute :mkdir, '-pv', linked_dir_parents(release_path)
fetch(:linked_dirs).each do |dir|
target = release_path.join(dir)
source = shared_path.join(dir)
unless test "[ -L #{target} ]"
if test "[ -d #{target} ]"
execute :rm, '-rf', target
end
execute :ln, '-s', source, target
end
end
end
end
据我所知,这里是使用命令 ln用于创建符号链接(symbolic link)。
阅读关于 ln (man ln) 的手册我们了解到,当尝试创建硬链接(hard link)目录时,该命令可能会由于系统限制而失败。
-d, -F, --directory
allow the superuser to attempt to hard link directories (note: will probably fail
due to system restrictions, even for the superuser)
'ln -d' 无法创建硬链接(hard link),这就是执行 'ln -s' 以创建符号链接(symbolic link)(符号链接(symbolic link)而不是硬链接(hard link))的原因。
所以,不用担心这个失败。如果您想避免它,只需像这样更改您的部署选项:
set :format, :pretty
set :log_level, :info
关于ruby-on-rails - Capistrano 3 进程失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21692601/
我是 Capistrano 的新手,我想知道为我的项目管理 Capistrano 配置的最佳方法是什么。 具体应该在哪里config/deploy.rb与我的项目的源代码控制相关吗?我应该存储没有特定
我正在使用 Capistrano 管理在多个负载平衡服务器上运行的 Java Web 应用程序。某些任务(例如配置更改)需要重新启动服务器或重新部署应用程序,在此期间服务器变得无响应。 如果 Capi
有没有办法可以看到 capistrano 任务依赖树?我有一个大项目,有很多任务和依赖项,但我对整个画面一无所知。 帕纳约蒂斯 最佳答案 在 Capistrano 3 中,您可以添加 --trace
我有一个命名空间和一些在 deploy:updated 之后运行的命名空间中的任务。下面是一个例子: namespace :myservice do task :start do on r
我想在运行 deploy:migrate 任务之前停止一些进程。我知道我可以通过复制现有代码并在任务的开头和结尾添加停止/启动步骤来重新定义 deploy:migrate 任务。 我想知道是否有办法避
我将如何更改 Capistrano 使用的临时目录? 示例:代替 /tmp ,我想用/home/user/tmp 我现在的 VPS 有 /tmp安装为 noexec ,这使我在尝试运行时获得了权限被拒
使用 Capistrano,如何回滚到特定版本? 我服务器的文件夹有一个/release 文件夹,我如何回滚到特定的文件夹? 我是否可以在本地获取计算机上的版本列表? 我正在使用 GIT,但这不起作用
我尝试使用“cap rollback”,但出现以下错误: $ cap rollback the task `rollback' does not exist 我需要做一些额外的设置才能使回滚正常工作吗
我正在使用 Capistrano 部署 ruby on Rails 项目。我正在尝试以用户“部署”身份登录远程服务器并部署此应用程序。 当我通过 ssh 进入框进行部署并 git 克隆项目时,它可
我正在使用 Capistrano 部署 ruby on Rails 项目。我正在尝试以用户“部署”身份登录远程服务器并部署此应用程序。 当我通过 ssh 进入框进行部署并 git 克隆项目时,它可
我正在使用 capistrano、capistrano/rbenv、capistrano/bundler 和 capistrano/rails。我在 capistrano 编译 Assets 的步骤中
尝试将此代码块授予 capistrano 的版本 3 但无济于事。一切都变了。任何人都可以帮助我在正确的轨道上进行转换吗? 旧版本 2 deploy.rb: #require 'new_relic/r
我对这两种工具都是新手,还没有完全掌握。 如果我使用 Capistrano 进行部署,为什么 Gradle 是部署目标? 另见 Gradle Overview . 最佳答案 Gradle 是从 Gro
如何使用 Capistrano v3 仅部署到一台服务器?我在那里发现的所有解决方案都部署到每台服务器,因此,我认为它们适用于 v2。 我不想部署一个阶段,我已经在使用多阶段,我只想在其中一个阶段部署
在 Capistrano Multi-staging documentation set :deploy_env, 'production'用来。是 deploy_env同 rails_env其中te
部署应用程序时,我将 Capistrano 与 capistrano_rsync_with_remote_cache gem 一起使用。 使用新软件升级部署服务器后出现问题: 卡皮斯特拉诺 2.5.1
capistrano-chef 是否有替代品?厨师独奏的 gem ?主要是为了避免两次定义服务器信息。 最佳答案 我在这个话题上发现了一些新鲜而热门的东西: Roundsman gem 文件: gem
我正在尝试通过遵循 DOCS 来学习使用 Capistrano 3,并且我编写了一个简单的任务来测试我的理解。 任务在默认 task 中创建目录在 lib/capistrano/tasks : d
我有一个 capistrano 任务,它整合了 Rails 项目的多个阶段的部署。 例如: task :consolidated_task do build #creates a new re
来自 deploy.rb 的片段 task :prod1 do set :deploy_to, "/home/project/src/prod1" end task :prod2 do set
我是一名优秀的程序员,十分优秀!