Micro-service helper: cli
This tool was created to be used in specific environment. We are using it for managing multiple microservice project that are sitting next to each other in one parent project.
example: Project name =
Simple Project (short
sp <parent project> ├── auth <microservice> ├── node-common <shared library> ├── type-definitions <shared typescript definitions> ├── .gitignore <parent project is ignoring all microservice projects> ├── .msh ├── docker-compose.yml
First feature added was the git bach commands and it was used to easily and quickly clone all repositories and perform functions
git status and
git pull. Because of this we decided to have certain naming convention.
We chose to have a prefix for every project which takes first letters of the projects name
Simple Project =>
sp, so for
authentication microservice we get
sp-auth. But when we clone it strip the prefix.
configuration is stored in the file
.msh located at the root of your project. You can generate init config file by
PROJECTS=["auth","node-common","type-definitions",..] GIT_TEAM=TeamName GIT_PROJECT_PREFIX=tn LOG_LEVEL=error CMD_GIT_ENABLED=true CMD_NPM_ENABLED=true
Also you can use
.msh-user (next to the
.msh) at your root dir to store user override values like
Perform git commands on all project specified in
.mas config file under
PROJECTS. All commands are executed asynchronously.
status - Get git status for all microservice projects
fetch - Perform git fetch for all microservice projects
pull - Perform git pull for all microservice projects
clone - Clone all microservice projects. If
GIT_PROJECT_PREFIXis set the project prefix is going to be striped for all projects.
install - Run
npm -ifor all project listed in
Usage: msh [command] Command: -i | --init Initiate .msh config file with default values -g | --git [option] options: clone Clone all project pull Pull all projects fetch Fetch all projects status Get status for all projects -n | --npm [option] Run npm i in all containers options: install Run npm i for all projects -v | --version Display cli version -h | --help Display this help