Integrando Gulp com Ambientes de Build no MVC 5

  • Rafael Miceli
  • 14 Mai 2016

No post anterior fizemos nossa aplicação MVC 5 usar o gulp e executar tasks do mesmo no nosso Task Runner Explorer.

Agora, vamos rodar diferentes tasks para nossos diferentes builds de ambiente.

Tasks Debug e Release no gulp

Se quisermos executar tasks especificas para cada build nosso em nosso gulpfile.js vamos criar uma task de Debug e outra de Release:

var gulp = require('gulp'),
    file = require('gulp-file');

// define tasks here
gulp.task('Release', function () {
    // run tasks here
    var str = "Say my name... in Release";
    
    return file('name.js', str, { src: true })
    .pipe(gulp.dest('dist'));
});

gulp.task('Debug', function () {
    // run tasks here
    var str = "Say my name... in Debug";
    
    return file('name.js', str, { src: true })
    .pipe(gulp.dest('dist'));
});

No código acima vamos escrever diferentes frases para diferentes configurations de build.

Caso você crie um novo configuration, basta criar uma task com o nome desse novo configuration.

Executando gulp com o build

Para executar o gulp em cada build e também para que o build do gulp não fique preso ao visual Studio, vamos remover nossa task do gulp do nosso task runner explorer:

passo1

Agora vamos adicionar o build do nosso gulp em nosso Pre-build event command line clicando com o botão direito em cima de nosso projeto e selecionando a opção properties. Na opção Build Events vamos adicionar o seguinte código em Pre-build event command line:

passo2

Código do Pre-build event command line:

cd $(ProjectDir)
gulp $(Configuration)

Se dermos um build em nossa aplicação em debug, veremos o resultado aplicado pela task debug em nosso arquivo name.js.

Se mudar para release e der um nobo build, veremos o resultado da task de release.

Agora podemos definir tasks para cada build configuration em nosso gulp.

comentarios com Disqus Disqus