Integration Lifecycle
CI/CD is built in to Frends.
Frends provides effective tools to control the development and release cycle for your Processes. With the Environments and versioning Frends provides, it's possible for developer to develop integrations, test them in development environment, and push the new version forward with just a click of a button.
Assuming your other systems support separate testing and production environments, Frends includes easy to way manage and differentiate functionality and values by the Environment the Process is deployed to.
Environments & Agent Groups
To separate different uses for different publications of the Processes, Frends provides Environments. These can be used to separate development, testing and production sites from each other by their use and target systems, by defining and using Environment Variables. When defined and used in Processes, Environment Variables can hold different values by the Environment the Process is deployed to.
While Environments separate the different sites logically by use purpose and shared values, Agent Groups in them define the actual location where the Processes will be executed. Because Frends supports hybrid architecture for execution environment, the Agent Groups essentially define whether the execution is done in dynamic containers, in the cloud or on an on-premise server.
In order to push the changes to other Environments and Agent Groups in Frends, all you need to do is to deploy the Process or Processes to another Environment and Agent Group. The centrally managed Environment Variables will be applied directly and immediately to the Processes being deployed, making sure that no development values will be used in production.

In case you need to take down a Process from Production or return to older version of the Process, is just as easy as deployment. Simply select another, older version of the Process to deploy, and the changes will be rolled back from the target Agent Group. You can also of course deactivate the Process Triggers or delete the Process from the Agent Group you no longer need it in, and that makes sure the Process will no longer run in that Agent Group, without affecting others.
Environment Variables
In case it is global values you need in multiple Processes, or values that are Environment specific, such as different credentials and connection points for testing and production, Environment Variables are there to take care of them.

Environment Variables are defined centrally in the Environment Variables section of Frends Control Panel, and can hold groups of values for different purposes. Values can be grouped together by their purpose, such as per target system or for specifically global error handling, and the values themselves can be textual, numerical, lists or secrets.
As the key feature of Environment Variables, each Environment in your Frends Tenant can receive separate values for the same variable. This makes it easy to develop and test the integrations using test values and other test environments, and when the Process is ready, it can be deployed to production without any changes to the Process itself, because the Environment-specific values are defined separately and centrally in Environment Variables.

Version Control
Versioning for the Processes is automatic in Frends. Everytime a change is made, be it to Process, Subprocess or API, a version change is included for that object. This makes sure that no matter what, a traceable and backtrackable path of changes is always available, and the included versioning tools will help in identifying what was changed.
Semantic Versioning
Frends follows Semantic Versioning system, where the version is presented as three incremental numbers: major version, minor version and build or patch version. When any changes are made to the Processes or APIs, the build version is incremented automatically and the increment is enforced to avoid skipping values and also to make sure it will not overlap with earlier versions.

Major and minor version numbers can be changed as needed for your use case. Common scheme in Frends would be to increment the major version whenever a new featureset or other major change in a Process is deployed to production, while minor version could be incremented for a smaller change, such as bug fix or adjustment to the Process, after it has been deployed to production at least once.
The scheme is not enforced however, so you are free to use the version numbers as needed.
Version tools
The most important tool and view for versioning in Frends is the Process Changelog. From here, you can see all the versions and changes that have been made to a Process, and where those versions are deployed to. In addition, as long as the developers have followed the guidelines, a version comment or description is shown here for each version, explaining in simple words what was done for that version.

To get a further look at what was done between versions, it's possible to view and compare the older versions as well. Simply by clicking on the ellipsis for any version and selecting Edit, you can access the old version in the Process Editor to see its details. For older versions the Editor opens in view-only mode, and you need to restore the old version as the latest version in order to continue editing from there.
Frends also includes a Diff tool to compare different versions of a Process easily. It will highlight any new shapes, removed shapes as well as changed shapes, and you can get an easy overview on what changed between versions.

If you need to go back to editing an older version of a Process, changing versions is made easy and possible as well, and without drawbacks. When changing the version of a Process to earlier state, it will copy that version and make a new version from it, without overriding the changes made in between.

Last updated
Was this helpful?