Neat! Pickled Muskrat!

    @cmflow/cli

    0.73.4 • 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.

    Keywords

    none

    Install

    npm i @cmflow/cli

    DownloadsWeekly Downloads

    635

    Version

    0.73.4

    License

    MIT

    Unpacked Size

    91.9 kB

    Total Files

    96

    Last publish

    Collaborators

    • camfou
    • romakita