Enterprise APP
Gulp - 배포시 버젼관리 본문
- 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: {
- 기타
Comments