Blog

CI/CD with webMethods using FlexDeploy

FlexDeploy provides a rich plugin for SoftwareAG webMethods application build and deployment automation.

webMethods has its out of box webMethods Deployer component which allows users to deploy a wide variety of webMethods assets to ESB, Trading Networks, MWS, CAF, BPM, UM, CAF, TASKS, Users, Groups, Roles, ACLs, Server configurations, properties etc, which reside on source webMethods runtimes or repositories to target webMethods runtime components.

The challenges are:

  • It requires manual activities to configure the project in webMethods Deployer and deploy the same into target environment.
  • The need to manually create project and deploy increases the risk of human error and other outages. 
  • It is time consuming and complicated which can cause releases to be delayed.
  • Large initiatives may have complex test scenarios and the development server will not serve as a reliable source.

To compound the difficulties, the use of Source Control Management (SCM) is often bypassed to expedite deployments. This type of deployment architecture is also not well suited for small, repetitive test iterations.

Fortunately, webMethods offers capabilities to support the four major Continuous Integration (CI) components:

  • Source control integration – Designer Workstation with SCM 
  • Automated build – Asset Build Environment
  • Automated deployment – Project Automator and Deployer Command Line Facility
  • Automated unit testing – WmTestSuite

Nevertheless webMethods has a dependency on external tools to orchestrate all the above capabilities to implement CI and the broader CD (Continuous Delivery) process.

FlexDeploy supports webMethods to implement CI using the webMethods Asset Build Environment, Deployer components. 

FlexDeploy helps automate your webMethods Integration Server development needs with simple configurations. No scripting needed. It is one tool that helps end to end.

Key Benefits:

  • Shorter release cycles
  • Repeatable releases
  • Consistency across environments
  • End to end Traceability and Visibility
  • Version based Build management
  • Scheduling release automation
  • Pipeline and Release Management

Source Control Management
FlexDeploy integrates with your SCM tools like GIT, SubVersion, TFS, Clear Case etc. and helps with establishing the branching strategy that suites your needs.

Topology

Looking at Topology configuration for Development environment for webMethods, FlexDeploy automatically provides property forms for webMethods once FlexDeploy instance is configured (Integration Server instance in this case). Administrators will configure webMethods Deployer server values as shown in the below screen. The webMethods plugin will use these property values to deploy the package into the specific target environment .

WorkFlow

FlexDeploy has concept of Workflow to allow for visually creating build or deployment steps. Here is an example of webMethods IntegrationServer Package build workflow which includes preliminary step of check out the source code from the SCM, then build the package as a ZIP file, and place them into an internal artifacts repository ready for deployment across environments.

Build Automation

You can build all your webMethods IntegrationServer packages with FlexDeploy with one click. FlexDeploy supports build automation with the help of webMethods Asset Build Environment script to generate build out of source code. As you see in the below screen, just click on the Build button and select the environment where the build will run and click Submit Request.

You can view the complete execution details and logs by clicking on the execution id. Execution details will display the details including who initiated the request, when, and what are the steps executed during the build as shown below.

Deploy Automation

Developers can submit a request for deployment manually with one click or schedule the deployment to execute without manual intervention.  There is no manual activity either to create project Automator xml with input values or to create projects in webMethods Deployer anymore!
To start a deployment process, provide inputs for target environment properties as shown in the below screen. These values are referred by webMethods Deployer while deploying the assets into the respective target server by establishing the remote connections.

To request for a deployment, just click on the Deploy button and select the environment to which you would like to deploy and click Submit Request as shown below.

This operation initiates the following sub-processes that get executed internally.

  1. Generate the Project Automator XML file based on the given environment properties and build version selected.
  2. Automate the projects creation in webMethods Deployer using the ProjectAutomator script.
  3. Deploy the build file into Target environments by invoking webMethods Deployer command line script for the Wmdeployer project created in step 2.
The selected version of Build(webMethods package ZIP file) is retrieved from internal artifacts repository and will be used to deploy into target webMethods runtime.
You can view the Execution details by clicking on the Execution ID as we saw in Build execution.
Conclusion
You just saw how FlexDeploy supports webMethods to implement Continuous Integration and Deployment with a few simple configurations and no scripting required! Have questions about how this can become a reality for you? Feel free to leave a message in the comments or request a demo.

2 thoughts on “CI/CD with webMethods using FlexDeploy”

  1. Hi
    I have trying to implementing the webMethods deployment automation process but I am stuck in some ware, that Jenkins is unable to find build script, can you please help me on this.
    and how to communication happen Jenkins to webMethods servers, can you please tell me.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top