I'm sharing my deployment tool


After some months developing this tool for deployment i think it’s time to share it with all the comunity. At the moment. cmtools was developed by myself to face the challenge of deploy 120+ packages on a production environment of 40+ Integration Servers.

I really hope this can make the life of others easier :slight_smile:


Best regards!

1 Like

Hi Thales,

Thanks for the tool but I am unable to access the link: https://bitbucket.org/pereirtc/cmtools

Can you please attach the tool in the thread or update the same in SAG tech community code samples.


I’m migrating the repository to sourceforge, can you please confirm if you have access?


Yes I am able to access this link… Let me know once you upload the package.

Hello again,

Code uploaded to gitbhub. Let me know if you have any questions regarding how to configure it


Hello Thales.

That’s an interesting tool! Deployment is an area that’s not covered very well in wM IMO. What assets are you able to deploy with your tool? Services and ACLs only? What about process models and CAF apps?

And why did you decide to write a tool from scratch if there is a deployer?

I’m just thinking what approach we should take in our project to streamline deployment. We have assets of all types, not just IS services.


In fact this script is very simple ( but handy ). At the moment cmtools can deploy only packages ( zip files ) by uploading and calling the intallPackage service via http request.

The main reason of developing this tool is because i dont think the WmDeployer is able to do with the same performance and simplicity like cmtools can do. Plus, WmDeployer ins’t able to deploy over 100+ packages at the same time over 20+ Integration Servers in less than 2/3 hours ( we tested that ).


The project now is hosted under sourceforge : https://sourceforge.net/projects/pyll

Hello again.

I read the docs but still don’t understand one thing. How do you (or, rather, the script ;-)) handle e.g. JDBC connections? If I deploy a connection from e.g. the dev environment to the integration testing one, some names/passwords have to be adjusted. Does the script do it? If yes, how is the substitution configured?


It’s a “ugly” workaround, but works. The script download the node.ndf with the adapter properties and add to the zip file.

Simple as that.

Do you mean that the node.ndf on the target server is not updated (effectively)? Ok, in the most cases I could live with that. But sometimes the connection properties get changed. Then, I think, I’d have to change them on one node, copy the file to all other nodes, and then apply the script. Right?