Node.js capistrano 3:cap中止!Don';我不知道如何构建任务';部署:更新';
我正在尝试将node.js应用程序部署到远程服务器上 运行 我在线路上遇到一个错误:Node.js capistrano 3:cap中止!Don';我不知道如何构建任务';部署:更新';,node.js,capistrano3,Node.js,Capistrano3,我正在尝试将node.js应用程序部署到远程服务器上 运行 我在线路上遇到一个错误: after "deploy:update", "deploy:cleanup" 默认部署任务应为所有加载(更新、清理等) 这是我的部署.rb文件 # config valid only for current version of Capistrano lock '3.4.0' set :application, 'cockpit-api' set :scm, :git set :repos
after "deploy:update", "deploy:cleanup"
默认部署任务应为所有加载(更新、清理等)
这是我的部署.rb文件
# config valid only for current version of Capistrano
lock '3.4.0'
set :application, 'cockpit-api'
set :scm, :git
set :repository, 'git@gitlab.com:user/myapp.git'
set :branch, "master"
set :deploy_to, '/var/www/myapp'
set :deploy_via, :remote_cache
set :copy_strategy, :checkout
set :keep_releases, 5
set :use_sudo, false
set :copy_compression, :bz2
set :normalize_asset_timestamps, false
set :document_root, "/var/www/myapp"
set :ssh_options, {:forward_agent => true}
set :user, "deploy"
名称空间:deploydo
task :start do
on primary roles :app do
run "sudo restart #{application} || sudo start #{application}"
end
end
task :stop do
on primary roles :app do
run "sudo stop #{application}"
end
end
task :restart do
on primary roles :app do
start
end
end
task :npm_install do
on primary roles :app do
run "cd #{release_path} && npm install"
end
end
结束
在“部署:更新”、“部署:清理”之后
在“部署:更新\u代码”之后,“部署:npm\u安装”
和我的staging.rb
set :stage, :staging
server 'myapp.mydomain.com', user: 'deploy', roles: %w{app}
role :app, "deploy@myapp.mydomain.com"
我的Capfile非常小
# Load DSL and set up stages
require 'capistrano/setup'
# Include default deployment tasks
require 'capistrano/deploy'
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
我不确定Node.js通常是如何通过Capistrano3部署的,但这里有很多错误。例如,Capistrano 3中没有
deploy:update
,也没有deploy:update\u code
。此外,Capistrano 3没有名为:copy\u strategy
或:copy\u compression
的设置
我猜您遵循了为Capistrano 2编写的文档或示例,并试图将其添加到Capistrano 3项目中。不幸的是,这不起作用,因为Capistrano2和Capistrano3是完全不同和不兼容的
我建议搜索Node.js+Capistrano的最新示例,其中明确提到Capistrano 3。我不清楚,有什么错误?谢谢Matt。。。我现在已经设置了Capistrano3部署,删除了不推荐的设置,并在挂钩后更新。。。除了将节点模块安装到共享文件夹中并启动upstart作业(如果使用,像我一样)的任务外,实际上没有特定于node.js部署的内容
# Load DSL and set up stages
require 'capistrano/setup'
# Include default deployment tasks
require 'capistrano/deploy'
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }