Capistrano 3.x以编程方式从ruby运行任务

时间:2017-07-06 17:01:06

标签: ruby capistrano

我试图从ruby脚本运行capistrano 3.x任务。

我深入研究文档,在旧版本的capistrano(2.x)中,您可以使用Capistrano :: CLI界面来访问和执行任务。

在较新的版本中,这个模块似乎已经消失,我无法找到类似的东西。

我在没有运气的情况下尝试使用Capistrano :: DSL。

为了说清楚,我看起来像这样:

require 'capistrano/all'

Capistrano::CLI.invoke(stage, task) 

任何线索??

1 个答案:

答案 0 :(得分:0)

终于解决了,这就是我所做的,

我使用了Capistrano :: Application.invoke({task})方法

对于capistrano 3.8.2

require 'capistrano/all'
require 'capistrano/setup'
require 'capistrano/deploy'
require "capistrano/scm/git"
install_plugin Capistrano::SCM::Git

stages = "production"
set :application, 'my_app_name'
set :repo_url, 'git@github.com:capistrano/capistrano.git'
set :deploy_to, '/var/www/'
set :stage, :production
role :app, %w{www}
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }

Capistrano::Application.invoke("common:ntp")

希望它有所帮助。