Em um projeto recente que estávamos implantando no parse.com usando o Gulp, essa ideia foi muito útil:
var gulp = require('gulp');
var path = require('path');
var sequence = require('run-sequence');
var environments = ['mine', 'beta', 'prod', 'test'];
var deploy = function (environment, done) {
var dir = path.join(__dirname, '..', 'environments', environment);
gulp.task('config', function () {
// The config stuff
});
gulp.task('minify', function () {
// The minify stuff
});
sequence('clean', 'config', 'minify', 'deploy', done);
};
environments.forEach(function (environment) {
gulp.task('deploy:' + environment, function (done) {
deploy(environment, done);
});
});
Então, basicamente, as tarefas não estão lá até que você execute uma tarefa “principal” como deploy:beta
.
O que você acha?