In my previous articles, I described Cloudify’s integration with Jenkins, as well as with CircleCI and GitHub Actions. These integrations provide easy access to Cloudify from within some of the most popular CI/CD tools in the market.
In this article, I will demonstrate using Cloudify’s integrations within the context of real-world development work. The demonstration will use GitHub Actions, however the same concepts can be applied to any supported CI/CD platform.
Note: before proceeding, you may want to brush up on Gitflow. A good description can be found here.
You can also watch the demo here:
In our example scenario, we have a Git repository in…
In the previous article, Cloudify & Jenkins, I introduced Jenkins’ plugin for Cloudify — a plugin that provides Jenkins job/pipeline authors with a Jenkins-centric way to interact with Cloudify.
In this article, I will introduce Cloudify’s integration with two major players in the CI/CD landscape: CircleCI and GitHub Actions.
One central factor in our design is to keep the interface to CI/CD authors as consistent as possible across CI/CD products. We managed to achieve this by constructing a simple Docker image, containing everything required to connect to a Cloudify Manager instance.
In addition, the Docker image contains a special script (called
cfyci) that wraps calls to the Cloudify CLI, providing a more streamlined interface to CI/CD products. (It is expected that this wrapper functionality will be embedded with the Cloudify CLI in an upcoming…
Programmatic access to Cloudify Manager is available through an official REST API. The two other access methods — namely, the CLI and the UI — both use the same official REST API.
When working with Jenkins, automating Cloudify-related tasks becomes a challenge. Interacting with Cloudify would require placing
curl commands in “Execute Shell” build steps or pipeline steps, tedious error-prone code for parsing results and so forth.
The Jenkins plugin for Cloudify comes to address these issues, significantly reducing the effort required to create and maintain Jenkins artifacts (jobs and pipelines) that use Cloudify.
The Cloudify Jenkins plugin declares its prerequisites in standard Jenkins plugin fashion, so installing the plugin will result in all prerequisite Jenkins components being downloaded and installed automatically. …