Our CI/CD Package at Engaging Data
The plumbing that makes your life easier and consistent.
In today’s modern software development world, the adoption of DevOps and CI/CD has become widespread, but not so much in the world of data warehousing.
Engaging Data has developed a solution that integrates WhereScape 3D & RED with CI/CD and DevOps pipelines in one ecosystem.
What Do CI and CD Mean?
Continuous Integration (CI) is a software development practice where all developers merge code changes in a central repository multiple times a day.
Continuous Delivery (CD) adds the method of automating the entire software release process.
With CI, each change in code triggers an automated build-and-test sequence for the given project, providing feedback to the developer who made the change.
CD includes infrastructure provisioning and deployment, which may be manual and consist of multiple stages. What’s important is that all these processes are fully automated, with each run fully logged and visible to the entire team.
What is DevOps?
DevOps is a culture shift or a movement that encourages communication and collaboration to build better-quality software more quickly with more reliability.
DevOps organisations break down the barriers between Operations and Engineering by cross-training each team in the other’s skills. This approach leads to higher quality collaboration and more frequent communication.
How Do DevOps and CI/CD Work Together?
For Agile methodology, which focuses on collaboration, customer feedback, and rapid releases, DevOps plays a vital role in bringing development and operations teams together.
Today’s development according to Agile practices couldn’t be considered without CI. It became easier to make changes within the software development through infrequent version releases as development and operations teams can collaborate easily with CI.
CI/CD with WhereScape 3D & RED
Engaging Data has developed a solution that utilises WhereScape 3D & RED command-line interface, allowing you to automate your deployments using CI/CD pipelines entirely.
Our solution also complements the existing WhereScape version control and will enable you also to version your objects and deployments using more widely used version control software such as: Git.
Continuous delivery is an important aspect that allows users to automate the end-to-end pipeline for CI/CD. We can design and develop using WhereScape at the core these functionalities for Continuous Delivery:
- The ability to automatically deploy code from one environment to another without impacting other objects.
- The ability to automatically execute test cases for objects deployed.
- The ability to take a course of action for successful and unsuccessful test results .
- The ability to update a tracking system (such as Jira / ServiceNow) to keep track of the overall workflow
DevOps with WhereScape
As explained in the deployment process, the DevOps flow for WhereScape has two steps:
- Design Process Flow
- Deployment Process Flow
In the following design and deployment process flows, we use Jira as the ticketing system, Jenkins as the build system, and Git as the version control. You can build these flows with any available source control, ticketing, and build tools on the market.
Build Process Flow
In an Agile environment, developers are assigned Jira tickets for their daily activities.
When the developer creates/updates an application, they update the Jira ticket with relevant details like the domain name, model repository name, application name, and build number.
The development or build manager can review the developer’s changes and approve the changes. Once the status of the Jira ticket is changed, Jenkins can identify this change on Jira and trigger a build.
In the Jenkins build, we can have scripts to create corresponding files for the application the developer worked on. Jenkins can automatically pull the application name from the Jira ticket.
A Jenkins script can also push these files to version control.
Deployment Process Flow
When the application is ready to be deployed to RED, a developer can create a deployment request on Jira. The developer can identify the application and the build number to deploy against in the Jira ticket.
The deployment manager can review this request and approve this ticket on Jira. Once the status of Jira is changed to “Approved,” Jenkins can automatically trigger a job to pull the files from version control and deploy the files to RED that the developer gave in the Jira ticket.
Putting it All Together to Create CI/CD Pipelines
CI/CD and DevOps are critical for delivering faster results efficiently for any modern-day software development project. It is essential to understand what each piece means in CI/CD and how DevOps can be applied to implement CI/CD pipelines successfully.
Engaging Data provides the best solutions for WhereScape customers to be compliant with any CI/CD and DevOps tools available in the market.