lib/capistrano/node-deploy.rb in capistrano-node-deploy-1.1.0 vs lib/capistrano/node-deploy.rb in capistrano-node-deploy-1.2.0

- old
+ new

@@ -12,11 +12,11 @@ respawn respawn limit 99 5 script - exec sudo -u {{node_user}} NODE_ENV={{node_env}} {{node_binary}} {{current_path}}/{{app_command}} 2>> {{shared_path}}/{{node_env}}.err.log 1>> {{shared_path}}/{{node_env}}.out.log + exec sudo -u {{node_user}} NODE_ENV={{node_env}} {{app_environment}} {{node_binary}} {{current_path}}/{{app_command}} 2>> {{shared_path}}/{{node_env}}.err.log 1>> {{shared_path}}/{{node_env}}.out.log end script EOD def remote_file_exists?(full_path) 'true' == capture("if [ -e #{full_path} ]; then echo 'true'; fi").strip @@ -36,33 +36,33 @@ end Capistrano::Configuration.instance(:must_exist).load do |configuration| before "deploy", "deploy:create_release_dir" before "deploy", "node:check_upstart_config" - after "deploy:finalize_update", "node:install_packages" - after "deploy:finalize_update", "node:restart" + after "deploy:update", "node:install_packages", "node:restart" after "deploy:rollback", "node:restart" package_json = MultiJson.load(File.open("package.json").read) rescue {} set :application, package_json["name"] unless defined? application set :app_command, package_json["main"] || "index.js" unless defined? app_command + set :app_environment, "" unless defined? app_environment set :node_binary, "/usr/bin/node" unless defined? node_binary set :node_env, "production" unless defined? node_env set :node_user, "deploy" unless defined? node_user - set :upstart_job_name, "#{application}-#{node_env}" unless defined? upstart_job_name - set :upstart_file_path, "/etc/init/#{upstart_job_name}.conf" unless defined? upstart_file_path + set :upstart_job_name, lambda { "#{application}-#{node_env}" } unless defined? upstart_job_name + set :upstart_file_path, lambda { "/etc/init/#{upstart_job_name}.conf" } unless defined? upstart_file_path namespace :node do desc "Check required packages and install if packages are not installed" task :install_packages do run "mkdir -p #{shared_path}/node_modules" - run "cp #{current_path}/package.json #{shared_path}" + run "cp #{release_path}/package.json #{shared_path}" run "cd #{shared_path} && npm install" - run "ln -s #{shared_path}/node_modules #{current_path}/node_modules" + run "ln -s #{shared_path}/node_modules #{release_path}/node_modules" end task :check_upstart_config do create_upstart_config if remote_file_differs?(upstart_file_path, generate_upstart_config) end @@ -89,10 +89,10 @@ sudo "stop #{upstart_job_name}" end desc "Restart the node application" task :restart do - sudo "stop #{upstart_job_name}" + sudo "stop #{upstart_job_name}; true" sudo "start #{upstart_job_name}" end end namespace :deploy do \ No newline at end of file