首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Capistrano 3运行rvmrc信任命令

如何使用Capistrano 3运行rvmrc信任命令
EN

Stack Overflow用户
提问于 2014-05-08 14:29:01
回答 2查看 409关注 0票数 1

我使用Capistrano 3,需要运行rvmrc trust命令来部署。

我将这段代码添加到我的deploy.rb中

代码语言:javascript
复制
namespace :rvm do
  task :trust do
   execute :rvm, "rvmrc trust #{fetch(:current_release)}"
  end
end

after 'deploy:updated', 'rvm:trust'

但任务没有执行。

如何使用rvmrc trust 3执行

在运行cap deploy任务之前,有什么方法可以查看部署任务流吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-21 08:31:49

我终于知道该怎么做了。问题是,使用release_path返回当前路径、符号链接而不是实际路径。所以我开始在网上搜索。

代码语言:javascript
复制
# file: lib/capistrano/tasks/rvmrc.cap
namespace :rvmrc do
  desc "Trust rvmrc file" 
  task :trust do
      on roles(:app) do
        releases = capture("ls #{File.join(fetch(:deploy_to), 'releases')}")
      if this_host_last_release = releases.split("\n").sort.last
          execute "~/.rvm/bin/rvm rvmrc trust #{releases_path}/#{this_host_last_release}"
      end
    end
  end
end

# file: deploy.rb, in the end
after :finishing, 'rvmrc:trust'
票数 0
EN

Stack Overflow用户

发布于 2015-07-23 18:10:03

capistrano最新解决方案-3.4.0:

代码语言:javascript
复制
# file: lib/capistrano/tasks/rvmrc.rake
namespace :rvmrc do
  desc "Trust rvmrc file" 
  task :trust do
    on roles(:all) do
      command = "rvmrc trust #{release_path}/#{fetch(:current_revision)}"
      execute :rvm, command
    end
  end
end
before 'deploy:set_current_revision', 'rvmrc:trust'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23544739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档