Flow versioning CLI
ACE 4 has flow versioning CLI which has workspace import/export capabilities and is intended for use in ACE CI/CD pipeline.
Installation
Flow versioning CLI is provided as docker image which should be deployed next to other ACE services. Docker image contains flow-versioning
command which can be executed either as Docker command
passed from pipeline or manually from running container.
Container name
flow-versioning-cli
Configuration options
DYNAMIC_API_URL
- URL of Data Access Layer service.FLOW_ENRICH_URL
- URL of Flow Runner service.FLOW_DESIGNER_URL
- URL of Designer service.BASE_DAL_URL
- URL of Data Access Layer service.CACHE_SERVICE
- URL of Cache service.
Usage
Typically, there are 2 ways how to deploy ACE workspace via CLI in pipeline.
Git deployment
The easiest option is to use CLI to pull changes from git. It is the simplest way, but requires access from environment to git.
Example
flow-versioning import-git \
--repository "https://dev.azure.com/spnsdigital/sapiens-digital/_git/gitRepository" \
--username gitUsername \
--password gitPassword \
--branch gitBranch
File deployment
Another option is to extend CLI docker image and copy ACE workspace files to docker image.
This approach allows to build image with given ACE flow version, deploy changes without access to git and easily roll back to previous version.
Example
Assuming that ACE workspace is in folder ace
. If workspace is in repository root, make sure not to copy over .git
folder.
FROM euadigportalcoredev02acr.azurecr.io/flow-versioning-cli:<VERSION>
COPY ace ./ace
CMD ["flow-versioning", "import-folder", "--folder", "./ace", "--delete"]
Commands
Available commands and their options can be explored via -h
option.
Usage: flow-versioning [options] [command]
Options:
-h, --help display help for command
Commands:
export-folder [options] Export flow definitions to folder
export-git [options] Export flow definitions to Git repository
export-zip [options] Export flow definitions to Zip file
import-folder [options] Import flow definitions to folder
import-git [options] Import flow definitions from Git repository
import-zip [options] Import flow definitions from Zip file
clear-data-cache Clears data cached by step execution
help [command] display help for command
Clearing Cache
It is possible to clear all cached data in redis. There are several ways how to achieve this:
- use
flow-versioning
CLI commandclear-data-cache
- use button "CLEAR CACHE" located in "VERSIONING" page
- do
DELETE /
REST call to internalcache-service