Enterprise APP

Gulp - 배포시 버젼관리 본문

Deployment/Gulp

Gulp - 배포시 버젼관리

로드스타 2016. 9. 7. 12:12


  • gulp 인스톨 패키지
> npm install --save-dev gulp-replace
> npm install gulp-bump --save-dev
> npm install yargs --save-dev
> npm install --save-dev gulp-compile-handlebars
  • 샘플
var handlebars = require('gulp-compile-handlebars');
var replace = require('gulp-replace');
var bump = require('gulp-bump');
var args = require('yargs').argv;
...
gulp.task('bump', function () {

    var type = args.type;
    var version = args.version;
    var options = {};
    if (version) {
        options.version = version;
        msg += ' to ' + version;
    } else {
        options.type = type;
        msg += ' for a ' + type;
    }
    console.log(msg);

    return gulp
        .src(['./package.json', './bower.json'])
        .pipe(bump(options))
        .pipe(gulp.dest(paths.distRoot));
});
gulp.task('increment-version', function(){
    var docString = fs.readFileSync(paths.version, 'utf8');

    var versionNumPattern=/version: '(.*)'/; //version: '0.0.0',
    var vNumRexEx = new RegExp(versionNumPattern);
   
    var oldVersionNumber = (vNumRexEx.exec(docString))[1];

    var versionParts = oldVersionNumber.split('.');
    var vArray = {
        vMajor : versionParts[0],
        vMinor : versionParts[1],
        vPatch : versionParts[2]
    };

    vArray.vPatch = parseFloat(vArray.vPatch) + 1;
    var periodString = ".";

    var newVersionNumber = vArray.vMajor + periodString +
        vArray.vMinor+ periodString +
        vArray.vPatch;

    gulp.src([paths.version])
        .pipe(replace(/version: '(.*)'/g, "version: '" + newVersionNumber +"'"))
        .pipe(gulp.dest(paths.versionPath));
});
gulp.task('change-version-template',['bump','increment-version'], function() {
    var manifest = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
    return gulp.src(paths.default)
        .pipe(handlebars(manifest, handlebarOpts))
        .pipe(plugins.concat(paths.distIndex))
        .pipe(gulp.dest(paths.distRoot));
});
 
 ...
    title
    


...
(function(){
    "use strict";
    angular.module('app.constant',[])
        .constant('AppPath', {
            version: '0.1.2',
            app :           '/app',
            components: {
  • 기타 

gulp-version-number

gulp-rev

integration


Comments