
Golemio CLI
Golemio CLI is a collection of executables intended for use with Golemio services and modules
Install the CLI
Prerequisites
Install locally (recommended)
$ cd my-project
$ yarn add --dev @golemio/cli
$ npm install --save-dev @golemio/cli
$ yarn golemio
$ npm exec golemio
Install globally
$ yarn global add @golemio/cli
$ npm install -g @golemio/cli
$ golemio
Commands summary
Command | Description |
---|
golemio | Default command (welcome) |
golemio help | View available commands |
golemio migrate-db help | View available migration commands and flags |
golemio migrate-db create <name> | Create new migration scripts (--postgres) |
golemio migrate-db up | Execute up migrations (--postgres) |
golemio migrate-db down | Execute down migrations (--postgres) |
golemio migrate-db reset | Reset all executed migrations (--postgres) |
golemio import-db-data help | View available db data import commands and flags |
golemio import-db-data | Import db data (--dangerous, --postgres) |
golemio rabbitmq help | View available rabbitmq commands and flags |
golemio rabbitmq send --help | View available rabbitmq send flags |
golemio rabbitmq receive --help | View available rabbitmq receive flags |
golemio release help | View available commands |
golemio release check-modules-integrity | Check module group if new repo was added |
golemio release check | Check repos that are ready to release (--scope, --skip or --only, --interactive) |
golemio release merge | Merge repos marked as release candidate by check command (--scope, --skip or --only, --interactive) |
golemio release check-mr-pipelines | Show pipelines of merged repos (--scope, --skip or --only, --interactive) |
golemio release sync-branches | Synchronize branches after release (--scope, --skip or --only, --interactive) |
golemio release create-tags | Create tags and releases of merged repos (--scope, --skip or --only, --interactive) |
golemio release print-release-issue | Print issues and release candidate modules |
Read release_management_CZ for more info to release
command.
Environmental variables
Variable | Example | Required |
---|
POSTGRES_CONN | postgres://oict:oict-pass@localhost/oict-test | :white_check_mark: (mdb and idd postgres) |
RABBIT_CONN | amqp://rabbit:pass@localhost | :white_check_mark: (rmq) |
POSTGRES_MIGRATIONS_DIR | db/migrations/postgresql (default) | :negative_squared_cross_mark: |
SQL_DUMP_FILES | db/example/*.sql | :white_check_mark: (idd postgres) |
GITLAB_API_TOKEN | token | :white_check_mark: (rls) |
RELEASE_BRANCH_NAME | release | :negative_squared_cross_mark: (rls) default: release |
TARGET_BRANCH_NAME | master | :negative_squared_cross_mark: (rls) default: master |
The value of the variable GITLAB_API_TOKEN should be created in GitLab User Settings page Access Tokens. Token scopes are api
, read_repository
and write_repository
.
Development
Local environment
To set up your local development environment, install project dependencies and create .env file in the root of the project (see .env.template for reference)
$ npm install
$ cp .env.template .env
Now you can run the CLI in development mode, just type
$ ./bin/golemio.js
You don't need to compile the source code as the script automatically registers the ts-node loader in development mode
Unit tests
Unit tests are located at test/unit. You can run them by typing
$ npm run test-unit
Integration tests
Integration tests are located at test/integration. You can run them by typing
$ docker-compose up -d
$ npm run test-integration
License
MIT