IBM Sterling Transformation Extender

 View Only
  • 1.  Using CI/CD

    Posted 7 days ago

    Does anybody have experience using CI/CD for ITX map development and deployment?  If you do, please share your experience and the product you use.



    ------------------------------
    Rex Chan
    ------------------------------


  • 2.  RE: Using CI/CD

    Posted 2 days ago

    While I haven't done it in actuality, I have managed CI/CD systems for transformation systems (based on BizTalk).  I really like Team Foundation Server in terms of flexibility and capabilities.  The toughest piece of an ITX deploy might be a Launcher restart.  I haven't yet worked with Flow Engine to know if it needs a restart to "see" new maps.  Anyway, anything that can be done in a script can be automated and used in TFS as a task during a deployment process.  

    The CI part is in part managed by how you organize the code repository.  I like having separate branches for DEV / QA / PROD - each with it's own set of deployment rules.  DEV can be configured as a manual push to the target server by a developer for instance.  QA triggered by check-in, upwards migration of DEV tested/approved code/maps.  PROD (especially for those systems that are governed by SOX) would be surrounded with a robust change management system procedure to ensure code was signed off on in QA and triggered by a non-developer deployment person as a scheduled maintenance or emergency patch depending on purpose of change.

    Please let me know what kind of details you might want or need that I probably didn't cover.

    Happy integrating!



    ------------------------------
    Lisa Edwards
    Software Engineer / Subject Matter Expert
    Rainbow Data Systems, Inc
    ------------------------------



  • 3.  RE: Using CI/CD

    Posted 2 days ago

    Thanks for your feedback.

    Regarding the container solution, there are 2 containers available in 11.0.1.  One is the Rest Server container which has been around since V10.  You don't need to restart the container for the new map to take effect.

    The other one is the Flow Server container which just came out.  I believe it should be the same.  I haven't tested it in the container yet but will do soon.  In the Design Server environment, it picks up the new map without a restart; however in Windows, the flow server runs as a service.



    ------------------------------
    Rex Chan
    ------------------------------



  • 4.  RE: Using CI/CD

    Posted 2 days ago

    That certainly simplifies it.  You can script out the build process and use variables for the inputs based on the map being deployed, and target environment.  TFS might be a lot (to implement / cost) for what is really needed if you're just wanting to manage ITX deployments, however if they are also doing any other custom code (java, c# etc) it can cover all the bases and might make the expense worth it.  I can only speak from my experience and I do really like TFS. 

    In another life I built a free CI system using ANT - and really it could probably be entirely script based even now and you use the repository of your choice. 



    ------------------------------
    Lisa Edwards
    Software Engineer / Subject Matter Expert
    Rainbow Data Systems, Inc
    ------------------------------



  • 5.  RE: Using CI/CD

    Posted 2 days ago

    We start using CI/CD more than 5 years ago.

    We start with SVN / Jenkins and Nexus
    We are now using Git / Gitlab-ci / Artifactory and Ansible

     

    The gitlab-ci solution already execute more that 57.000 pipelines over 120 git repositories.

     

    We install an ITX design studio and a gitlab-ci-runner on multiple Windows server.
    We create a java program that take a system name and a version number in argument and will
    - call sdeploy.exe with buildmap option to compile maps
    - call sdeploy.ext with generate option to compile system
    - zip map and system binaries into a single archive file
    - create a pom.xml document
      - we use the system name as an artifact id
    - upload the archive and the pom.xml on our maven binary repository

     

    We are using our maven framework to upload files on repository, but maven or any provider tool (like jfrog) can do the same thing.
    The java program can be replaced by a powershell script.

     

    We also develop a quality gate by using dtxds.jar and wtxui.jar to check that maps source follow our development rules.
    Quality gate for system are more complex because system API don't exist, we need to export system to xml.



    ------------------------------
    Vincent POTIEZ
    ------------------------------