You can build and test Mule Applications or APIs using Anypoint Studio very easily. But when it comes to automating deployments to your environments, with complete visibility, rich property management, and fully automated options, you need a good enterprise DevOps tool. FlexDeploy’s solution for MuleSoft bridges all these gaps and provides a complete DevOps solution. FlexDeploy also provides a solution for many of the key challenges developers face during development and maintenance of their Mule applications. Here are the challenges we face every day when we develop and deploy Mule APIs.
- How and what do I need to change when we move to CloudHub from an on-premises installation or vice-versa?
- How do I manage properties for third-party applications/databases, and how do I identify all the Mule APIs that use these properties so I can update them when the third-party application changes these properties?
- Are my secure properties really secured?
- How can I easily manage dependencies with other Mule applications and other enterprise applications?
FlexDeploy helps automate all your Mule development needs with simple configurations. No scripting needed. It is one tool that helps end to end.
Source Control Management
FlexDeploy integrates with your SCM tools like GIT, SNV, TFS, Perforce, Clear Case etc. and helps with establishing the branching strategy that suits your needs. The screen below shows how you can configure your SCM in FlexDeploy.
You can easily configure FlexDeploy to poll a SCM to perform a build or schedule the build to implement continuous integration on the CI tab of FlexDeploy. You can also configure Incoming Webhooks to perform operations like running the build operation when changes are added to a certain branch in the repository, creating new Streams in FlexDeploy when a new branch in created in the repository, etc.
You can build all your Mule applications/domains with FlexDeploy with one click. FlexDeploy supports both mavenized projects and non-mavenized projects. During the build, your MUnit and JUnit test cases will be executed to ensure quality of the Mule application.
You can view the complete execution details, by clicking on the execution id.
Execution details will display details such as who initiated a request, when, and what steps were executed during the build as shown below.
You can also view the Change Log with who made the code change, the affected files, and the commit message or ticket references.
Developers can submit a request for deployment manually with one click or automate the deployment to execute without manual intervention. To request a deployment, just click on the Deploy button and select the environment you would like to deploy and click Submit Request as shown below.
You can view the Execution details by clicking on the Execution ID as we saw in the Build execution. FlexDeploy automates deployments to any Mule installations – CloudHub, Standalone servers, clusters with or without Anypoint Runtime Manager. FlexDeploy monitors your deployment until it succeeds or fails and reports back the status. You can view Log Data in the execution details to see a detailed execution log. In the below screen, you can see the logs for a deployment to CloudHub.
With simple configurations in FlexDeploy, you can execute automated test cases during deployment to an environment and view the test results. You can also use results to determine if this build should be promoted to a next environment.
Here are the test types supported as part of the FlexDeploy Test Framework.
- Unit Testing – MUnit/JUnit.
- Integration Testing – MUnit, SOAP UI testing
- Smoke Testing – SOAP UI, Selenium, HP, OATS
- System Testing – Selenium, TestNG, HP, OATS
- Performance Testing – HP LoadRunner, JMeter, OATS
The operations team can easily manage environments and Mule instances. Managing environment-level properties like DB user name and password right in the FlexDeploy UI makes it incredibly easy. There is no need to keep these values within your Mule applications. FlexDeploy adds these properties while deploying to each environment. Secure properties can be defined as Encrypted in FlexDeploy and these properties will be secured during the plugin operation. Values for the secure properties can either be stored in FlexDeploy or be sourced from a credential store like Azure Key Vault or CyberArk with minimal configuration.
FlexDeploy supports hierarchical properties. You can define properties at the Environment level, Project level, etc. The screen shot below shows the environment properties for Mule instances. It is easy to switch one Mule type to another, for example, moving from Standalone to CloudHub is simple and easy.
Leverage FlexDeploy to manage your Mule build and deploys and get the following benefits:
- Fully automated Mule builds and deployments to various on-prem, cloud or hybrid installation models with a few clicks.
- Provides ease of use and helps implement best practices at every stage to improve the quality of your builds and deployments.
- Supports Continuous Integration and Deployment for all your software development along with Mule.
- Provides built-in integrations with Jira, ServicesNow etc to eliminate a lot of manual and tedious work.