mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-04-23 22:30:37 +00:00
190 lines
5.6 KiB
Markdown
190 lines
5.6 KiB
Markdown
# 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
|
|
|
|
### Quick Setup
|
|
|
|
Link the project as a global tool (builds and links in one command):
|
|
|
|
```bash
|
|
npm run link
|
|
```
|
|
|
|
This will build the CLI and make the `adf-cli` command available globally on your system.
|
|
|
|
When you're done developing:
|
|
|
|
```bash
|
|
npm run unlink
|
|
```
|
|
|
|
### Development Mode
|
|
|
|
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.
|
|
|
|
### Manual Workflow
|
|
|
|
If you need more control, you can manually build and link:
|
|
|
|
```bash
|
|
# Build the CLI
|
|
npm run build
|
|
|
|
# Or build with full distribution (includes copying resources)
|
|
npm run dist
|
|
|
|
# Link from the dist directory
|
|
cd ../../dist/libs/cli && npm link
|
|
```
|
|
|
|
## 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 |
|
|
| 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
|
|
```
|
|
|
|
### 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"
|
|
```
|