The Jitterbit Harmony API Integration Platform empowers you to incorporate CI/CD practices in your organization's development processes.
The "CI" in CI/CD stands for Continuous Integration, while the "CD" may refer to Continuous Delivery, Deployment, or Development. Together, the term CI/CD refers to a software development practice that allows for frequent or immediate deployment of new product changes. CI/CD requires automation across all development cycles, from building to testing, approving, and releasing.
Ways You Can Use CI/CD
There are multiple ways in which your organization can incorporate CI/CD practices using Jitterbit Harmony. Jitterbit Harmony not only has built-in capabilities such as migration, deployment, and scheduled operation triggers, but also facilitates integration with third-party CI/CD apps and toolkits (Jenkins, GitHub, etc.).
Using Jitterbit Harmony's Built-in Capabilities
The Jitterbit Harmony API Integration Platform includes native CI/CD capabilities with the ability to keep your code fully contained within Jitterbit Harmony projects.
Without ever opening a third-party application, you can review your projects (which contain your code), deploy your projects, migrate your projects, review project deploy history, etc. Some of the things you can do with these abilities include setting up automatic unit tests or upgrading projects in production to the latest version. This is all done by using Jitterbit's built-in capabilities and without going outside of Jitterbit.
Many actions in Jitterbit Harmony are available via multiple interfaces and can also be accessed behind the scenes directly using Harmony Management APIs. For example, you can view deploy history from the Management Console interface on the Projects page (see View Deploy History under Projects), from Cloud Studio (see Project Index), or from the Design Studio application (see Design Studio Interface Main Menus). You can also use the Jitterbit Harmony Management APIs to retrieve deploy history data behind the scenes and integrate it into other applications.
Integrating with Third-Party Systems
The Jitterbit Harmony API Integration Platform provides connectivity, integration, and synchronization with hundreds of supported endpoints, including those that are used for development. If your organization already uses third-party systems in your development process, you can "orchestrate" these development tools using the Harmony platform as a central system.
For example, if you are using Jenkins or GitHub, you can tie these tools into Jitterbit to automate builds, tests, and deployment in a single integration scenario. In your orchestration, you may use a combination of on-success and on-failure flows, as well as dynamic flows triggered by events or payload data, to use CI/CD seamlessly without the need for additional tools or manual processes.
Another example is to leverage the Design Studio project cache as the local Code Repository store (see Setting Up User Preferences in Jitterbit Studio). This can be further automated either via the Harmony Management APIs using various combinations of download, deploy, deploy history, run operation, and others, or via the Design Studio Command Line Interface to force Design Studio to perform actions behind the scenes.
Each implementation of CI/CD using Jitterbit can be customized to fit with your organization's business goals, development processes, and use of existing tools. While there are numerous ways to incorporate CI/CD into your integration, the following approach describes one possible option that may help in generating ideas for your organization.
This implementation uses the Jitterbit Harmony API Integration Platform to incorporate CI/CD into an organization's development processes, specifically in the area of testing for quality assurance. The system takes advantage of Jitterbit's exposed Harmony Management APIs that can be used to perform many of the tasks typically accomplished via the Harmony Studio or Management Console.
In this case, the system is configured such that these Harmony APIs are used to automatically deploy hundreds of test Jitterpaks, run them as unit tests, and report back via a simple interface for reporting and management purposes. The interface provides the option to perform parts of this process manually, while the entire testing process is incorporated into an automated cycle. When a new build is ready, the testing suite is automatically run via command line; if there are any failures, the whole build will fail.
The images below summarize the steps of this process using a basic interface. A developer at your organization could come up with a similar approach, and extend it to include source control using applications such as
git and websites such as GitHub.
For more information about developing a customized approach using CI/CD for your organization's needs, contact your Customer Success Manager.