webMethods

 View Only
Expand all | Collapse all

Flow Service Deployment Using CICD

  • 1.  Flow Service Deployment Using CICD

    Posted Mon August 19, 2024 04:25 PM

    Hello Everyone,

    I want to have community experts advice on deployment of flowService using CICD pipeline for continues integration.

    Current Setup Details:
    We have licensed of version API Gateway and IS 10.11 installed. We don’t have wm deployer or ABE license. Our Test environment is single node and pre-prod environment is clustered(3 Nodes).

    Question:
    Can we deploy flow service or package from test to pre-prod environment using jenkin or any other automation tool set. We don’t have license for wm deployer or ABE. What are our option for automated deployment of flowService or IS package from test to pre-prod environment.


    #Integration-Server-and-ESB
    #webMethods
    #API-Gateway
    #Service-Designer
    #API-Management


  • 2.  RE: Flow Service Deployment Using CICD

    Posted Mon August 19, 2024 09:55 PM

    You can create Flow services using the built in pub.replicator:* and pub.packages:* services in WmPublic and trigger them from Jenkins or other automation tools.
    On the source server:
    pub.replicator:packageCreation - Creates the zip file
    pub.replicator:addReleaseRegistryEntry - Adds an entry to the Package Release Registry
    pub.replicator:distributeViaSvcPush - Requires remote server aliases for the target servers
    or
    pub.replicator:distributeViaFTP - Requires host, port & credentials as inputs

    On the target servers:
    pub.packages:installPackage

    HTH,
    Theo


    #Service-Designer
    #Integration-Server-and-ESB
    #webMethods
    #API-Gateway
    #API-Management


  • 3.  RE: Flow Service Deployment Using CICD

    Posted Tue August 20, 2024 03:04 PM

    This is also license restricted, but the Automatic Package Deployment feature is available in 10.11.

    Your CICD script would need to move the updated packages to the autodeploy folder. IS scans the folder every few minutes and loads any new/updated packages

    Both this option and Theo’s only cover packages, IS deployments often include some configuration settings that are not included in packages


    #Service-Designer
    #webMethods
    #Integration-Server-and-ESB
    #API-Gateway
    #API-Management


  • 4.  RE: Flow Service Deployment Using CICD

    Posted Tue August 20, 2024 03:39 PM

    Configuration is the main issue. What resources do you need to connect to (databases, messaging brokers, …)?
    This package created by @jahntech.cj could help for ART resources: https://tech.forums.softwareag.com/t/new-tool-automate-update-of-art-adapter-connections-on-integration-server/294569
    Alternatively, you could decide to centralize the configuration in a dedicated package that is managed manually outside the CI/CD process.

    Regarding the deployment of packages, the webMethods package manager may work on wM 10.11, it would allow you to deploy your packages from a git remote.


    #webMethods
    #API-Management
    #Service-Designer
    #API-Gateway
    #Integration-Server-and-ESB


  • 5.  RE: Flow Service Deployment Using CICD

    Posted Tue August 20, 2024 06:16 PM

    Before diving into an alternative solution, I’d like to point out that neither ABE nor the Deployer are licensed products. Knowing this, do you still want to explore a different solution?

    Percio


    #webMethods
    #Service-Designer
    #Integration-Server-and-ESB
    #API-Management
    #API-Gateway


  • 6.  RE: Flow Service Deployment Using CICD

    Posted Wed August 21, 2024 03:47 AM

    You don’t need Deployer or ABE for CI/CD with pure Integration Server. In fact, in more than 15 years I have never used them for such a scenario.

    Can you elaborate on the nature of your cluster? In particular, does it use Terracotta?

    The approach I have always followed is conceptually the one that is recommded in the “Continuous Delivery” book and often mentioned in Dave Farley’s videos on the subject.

    In a nutshell:

    • On CI env: Check out from VCS, build, run tests; on success create ZIP, and upload to binary repository (e.g. Artifactory, Nexus)
    • On TEST env: Download from binary repo, install, run tests. On success, promote in binary repo
    • On Pre-PROD env: triggered by promotion above, download from binary repo, install, run tests. On success promote in binary repo

    In fact I am currently working on an online course for exactly this topic. Your question is a welcomed reason (so thanks! :grinning:) to write a small blog post on this.

    Let me do the blog post and come back with a link later today.

    Hope that helps


    #API-Management
    #API-Gateway
    #Integration-Server-and-ESB
    #webMethods
    #Service-Designer