@cmflow/cli

1.0.10 • Public • Published

CMFLOW


npm version semantic-release code style: prettier


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.

Readme

Keywords

none

Package Sidebar

Install

npm i @cmflow/cli

Weekly Downloads

1,263

Version

1.0.10

License

MIT

Unpacked Size

96 kB

Total Files

96

Last publish

Collaborators

  • camfou
  • romakita