gulp-modular-release
Modular extension to release projects using git-flow release strategy.
Works well alone or together with gulp-modular.
Installation
npm install gulp-modular-release --save-dev
Integration in gulpfile
var gulp = ;var gulpModularRelease = ; // optionally overwrite default configurationvar config = //// task [`release`] creates a new release release: // versionNumber: argv.v, // the version number of the new release // bumpFiles: ['./package.json', './bower.json'], // write version number to these files, cordova config.xml is also supported // changelogFile: './CHANGELOG.md', // generate changelog in this file // conventionalChangelog: 'angular', // choose preset style like: : 'angular', 'atom', 'eslint', 'jscs', 'jshint' // commitMessage: 'bump version number ' + argv.v, // message of bump commit // tagPrefix: '', // define a prefix like 'v' for the git tag // masterBranch: 'master', // the projects master branch // developBranch: 'develop', // the projects develop branch // releaseBranch: 'release/' + argv.v // the release branch created while releasing // push: false // push change to remote repository ; ;
Usage
gulp release
or
gulp release -v 1.2.3
or
gulp relrease -b hotfix/foobar
or
gulp relrease -b hotfix/foobar -v 1.2.3
(If no version is specified the next version is generated using conventional-recommended-bump.)
Strategy
- checks out
develop
branch and pullsorigin
for changes (pull --only-ff
) - creates branch
release/1.2.3
fromdevelop
(just without-b
option) - sets version number to
bower.json
andpackage.json
- generates and writes changelog via conventional changelog to
CHANGELOG.md
- commits the previous changes
- merges
release/1.2.3
(or the specified branch) intomaster
and tags it withv1.2.3
- merges
master
intodevelop
- deletes branch
release/1.2.3
(or the specified branch) - checks out
develop
- (optionally) pushes changes to remote repository