@cmflow/cli
v1.0.16
Published
An awesome Git Flow
Downloads
11,830
Readme
npm i -g @cmflow/cli
CmFlow release
Installation
CmFlow is compatible with semantic-release 📦🚀. You can use CmFlow release to deploy your projects based on CmFlow convention.
Add the cmflow to your project:
npm i --save-dev @cmflow/cli
Then create release.config.js
with this configuration:
const { getSemanticConfig } = require('@cmflow/cli')
module.exports = {
...getSemanticConfig(),
// Additional semantic configuration props
npmPublish: false
}
Then edit your package.json
add the following tasks on script property:
{
"script": {
"release": "cmrelease",
"release_dry_run": "cmrelease --dry-run"
}
}
Now, CmFlow and semantic release are correctly installed on your project.
Build and E2E Test
CmFlow release are able to run build
and test_e2e
task during the deploy process. It's useful when you want to
deploy a docker image on docker hub with the right revision number in the package.json
. The only requirement, is to
have a build
and test_e2e
tasks in you npm scripts.
Example:
{
"scripts": {
"build": "docker-compose build",
"test_e2e": "docker-compose up -d && sleep 10 && npm run test_cucumber && docker-compose stop"
}
}
Generate changelog
CmFlow release call also a npm task build_changelog
to let you generate the changelog file with your preferred tool.
Example:
{
"scripts": {
"build_changelog": "conventional-changelog --preset angular --release-count 0 --outfile ./CHANGELOG.md",
"build_changelog": "cmchangelog"
}
}
Configure CI
CmFlow release can be used with Travis CI, Circle CI and GitLab. You have to create these environments variables to allow git release note deployment, commit push and docker image deployment.
| Variable | Description | |---------------------|---------------------------------------------------------------------------------------------------------------------------| | PROJECT_NAME | The project to publish artifact on docker | | GH_TOKEN | A GitHub personal access token. | | GIT_USER_EMAIL | User mail to sign the commit produced by CmFlow release | | GIT_USER_NAME | User name to sign the commit produced by CmFlow release | | DEPLOY_ON_DOCKER | Set 1 to deploy on docker | | DOCKER_HUB_ID | The docker hub id | | DOCKER_HUB_PWD | The docker password account | | HEROKU_APP | Enable deployment on heroku. Note: You have to configure HEROKU_API_KEY token on your CI | | SKIP_DEPLOY | Skip all deployment task (docker, heroku). | | SKIP_GITHUB_PUBLISH | Skip tag and release note publication on Github. | | GITHUB_PAGES_PATH | Path to the front-end artifact. Enable github pages deployment. |