我正在尝试从ruby脚本运行capistrano 3.x任务。
我深入研究了文档,在旧版本的capistrano (2.x)中,您可以使用Capistrano::CLI接口来访问和执行任务。
在较新的版本中,这个模块似乎消失了,我找不到任何类似的东西。
我尝试使用Capistrano::DSL,但没有成功。
为了清楚起见,我看起来像这样:
require 'capistrano/all'
Capistrano::CLI.invoke(stage, task)
有什么线索吗?
发布于 2017-07-07 03:34:36
最终解决了,这就是我所做的,
我使用了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")
希望能有所帮助。
https://stackoverflow.com/questions/44955003
复制