-
-
Save swalkinshaw/7fba3ab806cdba974db4ab0083639e61 to your computer and use it in GitHub Desktop.
# Load DSL and Setup Up Stages | |
require 'capistrano/setup' | |
# Includes default deployment tasks | |
require 'capistrano/deploy' | |
# Load tasks from gems | |
require 'capistrano/bower' | |
require 'capistrano/gulp' | |
require 'capistrano/npm' | |
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined. | |
# Customize this path to change the location of your custom tasks. | |
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r } |
set :application, 'my_app_name' | |
set :repo_url, '[email protected]:me/my_repo.git' | |
set :branch, :master | |
set :deploy_to, -> { "/srv/www/#{fetch(:application)}" } | |
set :log_level, :info | |
# rest of the usual config | |
set :npm_flags, %w(--silent --no-progress) | |
set :gulp_tasks, '--production' | |
set :gulp_file, -> { release_path.join('path/to/sage/Gulpfile.js') } | |
set :gulp_target_path, -> { release_path.join('path/to/sage') } | |
namespace :deploy do | |
before :updated, 'gulp' | |
end |
gem 'capistrano' | |
gem 'capistrano-bower' | |
gem 'capistrano-gulp' | |
gem 'capistrano-npm' |
Also read elsewhere that set :gulp_tasks, '--production'
is not appropriate for staging because it means that the devDependencies
in package.json
are skipped? So I have removed that, assuming that's true(?).
Try adding set :npm_flags, %w(--silent --no-progress)
. You are right about devDependencies
but had the wrong place. That's to do with npm and not gulp.
Excellent. Last one, I hope!
The dependency "tree" on my local/dev machine ends up creating tons of node_modules directories. But in staging, there are many fewer. And then I get dependency errors when the gulp task runs, saying dependent modules weren't found.
Should the staging/prod server configs mean that a different number of node_modules be loaded?? Seems strange.
No wait. It worked later. Possible an i/o error on the machine?! Scratch that either way!
Is this still relevant since it seems 9.0.0-beta.2 uses yarn instead?
Thanks Scott. I'm further towards getting a Sage build to work, but no luck yet. I'm stuck with this error during the deploy to staging:
DEBUG[80b7fdee] Command: cd /srv/users/serverpilot/apps/clear/releases/20160809065451/web/app/themes/clear2016 && ( WP_ENV=staging /usr/bin/env gulp --no-color --gulpfile /srv/users/serverpilot/apps/clear/releases/20160809065451/web/app/themes/clear2016/gulpfile.js )
DEBUG[80b7fdee] [02:55:24]
DEBUG[80b7fdee] Local gulp not found in ~/apps/clear/releases/20160809065451/web/app/themes/clear2016
DEBUG[80b7fdee] [02:55:24]
DEBUG[80b7fdee] Try running: npm install gulp
cap aborted!
I DO have gulp installed globally. I assume it can't be installed locally... this is a release that was just loaded earlier in the same build script so how or when does a local gulp install happen, before which I assume it can't be found, hence the above error?
I hope I'm making sense.
I feel like there is an "npm install gulp" that's meant to be in my build script and isn't. Is that possible?
SO sorry. Totally noob here trying something I'm barely understanding :)
A