Denys Vuika 979bf3ac59
[ACS-6396] cleanup unused CLI code (#9132)
* cleanup unused CLI code

* [ci:force] update CLI readme
2023-11-28 05:20:17 -05:00

188 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Alfresco ADF Cli
The ADF CLI provides a set of utilities to manage your ADF projects.
## Installation
To get started, follow these instructions:
```bash
npm install @alfresco/adf-cli -g
```
To know more about any command use the -h or --help option:
```bash
adf-cli <command> --help
```
## Developing
Link the project as a global tool
```bash
npm link
```
Build the tool in the **develop** mode (automatically watches for changes and rebuilds the commands):
```bash
npm run develop
```
Run the tool with the `DEVELOP` environment variable:
```bash
DEVELOP=true adf-cli <command>
```
In develop mode, the CLI takes the prebuilt scripts from the dist folder.
## Commands
| **Commands** |**Description** |
| --- | --- |
| changelog | Generate changelog report for two branches of git repository |
| check-cs-env | Check cs env is up |
| check-plugin-env | Check plugin status |
| docker | Build and publish a docker image or create additional tag link |
| init-aae-env | Init env |
| init-aps-env | Init aps |
| licenses | Create a 3th party license file |
| audit | Check the security risk dependency in your package.json |
## Examples
### Changelog
You can get command details by using `--help` argument
```bash
adf-cli changelog --help
```
The format of the command is as following:
```bash
Usage: adf-cli changelog [options]
Generate changelog report for two branches of git repository
Options:
-v, --version output the version number
-r, --range <range> Commit range, e.g. master..develop (default: "master..develop")
-d, --dir <dir> Working directory (default: working directory)
-m, --max <number> Limit the number of commits to output
-o, --output <dir> Output directory, will use console output if not defined
--skip <number> Skip number commits before starting to show the commit output
-f, --format <format> Output format (md, html) (default: "md")
-e --exclude <string> Exclude authors from the output, comma-delimited list
-h, --help output usage information
```
#### Usage examples
```sh
# show changelog in the console for the current directory
adf-cli changelog -r master..develop -d .
# show changelog in the console for a specific folder
adf-cli changelog -d ~/github/alfresco-ng2-components
# generate changelog for specific folder and pipe the console output to a file
adf-cli changelog -d ~/github/alfresco-ng2-components > log.md
# generate changelog report in the default format as "changelog-X.X.X.md" and save to the current folder
adf-cli changelog -d ~/github/alfresco-ng2-components -o .
# generate changelog report and save it to a specific folder
adf-cli changelog -d ~/github/alfresco-ng2-components -o ../reports
# generate changelog report in the HTML format and save to the current folder
adf-cli changelog -d ~/github/alfresco-ng2-components -f html -o .
# generate report in the default format and save to the current folder, reset all filters (including embedded ones for bots)
adf-cli changelog -d ~/github/alfresco-ng2-components -e ""
# generate report in the default format excluding commits made by certain authors
adf-cli changelog -d ~/github/alfresco-ng2-components -e "bot,user1,user2"
```
### License Check
Move in the folder where you have your `package.json` and run the command:
```bash
npm install
adf-cli licenses
```
### Audit Check
Move in the folder where you have your `package.json` and run the command:
```bash
npm install
adf-cli audit
```
### Docker
The command provides 2 targets 'Publish' (default value) and 'Link'
Publish target
Move in the folder where you have your `Dockerfile` and run the command:
```bash
adf-cli docker --target "publish" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}"
```
If you want to specify a different docker registry you can run
```bash
--loginCheck --loginUsername "username" --loginPassword "password" --loginRepo "quay.io"--dockerRepo "${docker_repository}" --dockerTags "${TAGS}"
```
Link target
In case you don't need to publish a new image but you would like to create a link to an already existing image (sourceTag) you can use the link target.
```bash
adf-cli docker --target "link" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}" --sourceTag "develop"
```
### Initialize activiti cloud env
The following command is in charge of Initializing the activiti cloud env with the default apps:
```bash
adf-cli init-aae-env --host "gateway_env" --oauth "identity_env" --identityHost "identity_env" --modelerUsername "modelerusername" --modelerPassword "modelerpassword" --devopsUsername "devopsusername" --devopsPassword "devopspassword"
```
You can also specify the environment ids of the envs where to deploy the app adding the `--envs` option:
```bash
adf-cli init-aae-env --host "gateway_env" --oauth "identity_env" --identityHost "identity_env" --modelerUsername "modelerusername" --modelerPassword "modelerpassword" --devopsUsername "devopsusername" --devopsPassword "devopspassword" --envs envId1 envId2
```
If you want to add a new app the schema needs to be:
```text
TEST_APP: {
        name: 'testapp',
        file_location: 'https://github.com/Alfresco/alfresco-ng2-components/blob/branch/e2e/resources/testapp.zip?raw=true',
        security: [
            {'role': 'APS_ADMIN', 'groups': ['myadmingroup'], 'users': ['myadminuser']},
            {'role': 'APS_USER', 'groups': ['myusergroup'], 'users': ['myuser']
        }]
    },
```
### Checks plugin status
The following command is in charge of checking plugin status by given plugin name:
```bash
adf-cli check-plugin-env --host "gateway_env" --pluginName "Name of the plugin" --clientId "clientId" --appName "appName" -u "username" -p "password"
--ui "uiName"
```