This is basically the release workflow defined by Gulp as a plugin to avoid code duplication,
For more info: https://github.com/gulpjs/gulp/blob/master/docs/recipes/automate-release-workflow.md
What it does?
- Bump version in package.json, it follows SemVer semantic versioning, by default the
patch
version is bumped, but can be changed to release a minor or major version as well via a CLI param. (see below) - Update the CHANGELOG.md file with a link to the commits in between the previous and current version.
- Commit the changes in current workspace.
- Push the changes to the master branch.
- Create and push a tag that correspond to the new version.
npm install --save-dev gulp-release-flows
Create a gulpfile.js
in your project with:
// add to gulpfile.js
var gulp = require('gulp');
// pass along gulp reference to have tasks imported
require('gulp-release-flows')(gulp);
To see all imported tasks, run:
gulp -T
To release, run:
gulp build:release
This will bump the patch
version, minor / major can be bumped by the following command:
gulp build:release --bump minor
Or
gulp build:release --bump major