This is the sixth article in our series on what makes FlexDeploy a seamless fit for Oracle Fusion Middleware users. In this blog article I will walk through the core components of FlexDeploy, which enable the basics of continuous integration and issue tracking. I will demonstrate how to build a SOA composite based on code commits to a SCM repository and update the status of a task within an issue tracking (Jira) system. This article will extend the setup that was completed in the previous blogs of the series to enable an effective continuous delivery solution. All of these concepts apply to any FlexDeploy project type such as the WebLogic configuration, MDS, and Service Bus projects.
- FlexDeploy Loves Oracle Fusion Middleware: Overview
- FlexDeploy Loves Oracle Fusion Middleware: WebLogic Configuration Setup
- FlexDeploy Loves Oracle Fusion Middleware: MDS Setup
- FlexDeploy Loves Oracle Fusion Middleware: Service Bus Setup
- FlexDeploy Loves Oracle Fusion Middleware: SOA Setup
- FlexDeploy Loves Oracle Fusion Middleware: Continuous Integration and Issue Tracking
- FlexDeploy Loves Oracle Fusion Middleware: Test Automation
- FlexDeploy Loves Oracle Fusion Middleware: Release Pipelines
- FlexDeploy Loves Oracle Fusion Middleware: Integration with ServiceNow
In this post, I will show how continuous integration and Issue Tracking is configured in FlexDeploy.
Setup
Continuous Integration
Continuous integration provides the ability to poll a repository for changes committed to a project. When a change is detected, the configured build workflow is automatically executed.
The ValidateOrderProcess project that was used in the SOA Setup article can be configured for continuous integration as follows.
- Poll SCM Trigger: Use this trigger type to poll a source code management system at a defined interval and build automatically if any change is found.
- Scheduled Build: Use this trigger type to schedule builds at a certain time.
- Scheduled Deploy: Use this trigger type to schedule deployments to an environment at a certain time(s).
- Post Build Trigger: Use this trigger type to trigger a deployment after any successful Build of this project.
In this case, we are configuring a Poll SCM Trigger option.
- Environment – select the environment where the build will occur
- Release – select the release that will be executed on a successful build
- Stream Name – select the stream to use for the build
- Interval Minutes – select the polling interval for this project
The outcome of this trigger, is that the configured SCM will be polled every 5 minutes and the project will be built automatically if changes are found.
Issue Tracking
Configuration of issue tracking allows automatic status updates for a Jira ticket when a successful build or deploy happens. If the developer adds the Jira ticket to the commit message, the ticket will be updated on a successful build and/or deploy with the status that is configured below. This reduces the amount of extra work that a developer is required to perform to keep tickets up to date. Check out this blog for addition information on Jira configuration.
The first thing is to configure a Jira issue tracking instance.
Now the ValidateOrderProcess project can be configured to provide status updates in Jira.
Execution
Now that everything is set up, let’s see how this works in practice. We’ll perform a commit on the ValidateOrderProcess to illustrate the automation.
First, a Jira ticket (DEMO-12) was created for the developer.
Next, the developer committed a change via the commit log, with the Jira ticket added in the commit message.
Now the CI configured above detects the code change and starts the build process. You can see that the Requested By column indicates cipoller (Continuous Integration Poller) as the requester. In addition, the execution shows that the build/deploy will be associated to the WebinarRelease. The release configuration will be covered in another post in this series.
Upon successful build, the Jira ticket (DEMO-12) was updated to a status of IN PROGRESS.
Upon successful deployment, the Jira ticket (DEMO-12) was updated to a status of IN REVIEW.
Conclusion
In this blog article, the steps were shown on how to configure FlexDeploy as an automation solution for automatically building and deploying of an Oracle SOA composite across various environments. In addition, we configured FlexDeploy to automatically update the Jira ticket based on progress through the delivery life cycle.
The next blog in the series will cover test automation configuration.