* Remove adf-testing lib * remove adf-testing references * remove testing:bundle from CI workflows
Alfresco ADF Cli
The ADF CLI provides a set of utilities to manage your ADF projects.
Installation
To get started, follow these instructions:
npm install @alfresco/adf-cli -g
To know more about any command use the -h or --help option:
adf-cli <command> --help
Developing
Link the project as a global tool
npm link
Build the tool in the develop mode (automatically watches for changes and rebuilds the commands):
npm run develop
Run the tool with the DEVELOP
environment variable:
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
adf-cli changelog --help
The format of the command is as following:
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
# 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:
npm install
adf-cli licenses
Audit Check
Move in the folder where you have your package.json
and run the command:
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:
adf-cli docker --target "publish" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}"
If you want to specify a different docker registry you can run
--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.
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:
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:
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:
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:
adf-cli check-plugin-env --host "gateway_env" --pluginName "Name of the plugin" --clientId "clientId" --appName "appName" -u "username" -p "password"
--ui "uiName"