cob-cli
General Overview
cob-cli is a NODE.js command line tool that greatly simplifies the development, customization, testing and deployment process of CoB applications. It's main goal is to coordinate work amongst the developers who work on said applications.
Initialization
cob-cli allows the developer to easily setup a COB application in their own local machine through the use of the cob-cli init <server_name> command, which initializes server file structure or clones the repository into the local machine.
Customization
Many applications may require specific (custom) modifications. Most of the time these are supported through existing customizations. These customizations are standalone repositories, and they can be easily installed in a CoB application via cob-cli init customize - making it easier to both manage and maintain the different customizations (like versioning, etc).
Testing
With cob-cli test, the user can easily test new changes to the UI or new IntegrationM scripts. This command starts a local webpack server (in the user machine), that connects to the actual server (backend). It serves local files present in recordm/customUI/ while a copy-to-server is implied for any other file.
WARNING
Files subjected to copy-to-server are temporarily "in production" while the test is running and caution is needed.
Deployment
cob-cli makes it extremely easy and simple to deploy a COB application, through the usage of cob-cli deploy.
Advanced Topics
Some features of cob-cli are considered advanced and are used in specific circunstances.
Updating from server
If using a solutions.yml file to migrate data between servers, cob-cli updateFromServer reads all configured data and saves it in the local repo.
If recovering from changes that were made directly in the server, cob-cli updateFromServer --code connects to the server and does a "reverse deploy", copying remote changes to the local repo.
Tagging Definitions
As part of the process of migrating Definition changes between servers, cob-cli tagDefs can be used to select the specific changes that should be exported from the origin server.
