Our customer is currently on webMethods IntegrationServer 10.3 but will soon upgrade to latest version.
We are thinking about using Jenkins with webMethods integrationsserver (with wmDeployer and ABE) for build and deploy. The Jenkins server is on a different filesystem on at different server (Openshift) than webMethods (linux). In most of the documents i found on this states that Jenkins should be running on the same instance/filesystem as webMethods
(also the new Jenkins webMethods plugin readme file states that).
So my questions are?
Why does it need to be running on the same instance/filesystem?
Is it possible to use Jenkins (running on at different instance/filesystem) with webMethods (ABE/wmDeployer)? (i assume firewalls needs to be open)
The reason why ABE and Deployer are usually installed on the same server as Jenkins in a traditional CI/CD setup is because the Jenkins pipeline typically calls scripts located under those products installation directories, e.g.:
common/AssetBuildEnvironment/bin/build/build.[bat|sh] to build the artifacts
IntegrationServer/instances/default/packages/WmDeployer/bin/projectautomator*.[bat|sh] for creating the Deployer project
IntegrationServer/instances/default/packages/WmDeployer/bin/Deployer.[bat|sh] for mapping, varsub, and deployment of the Deployer project
So having them on the same servers makes this easier, but it’s not required. You can leverage things like Jenkins agents or pure ssh to execute those scripts remotely if you want.
In my last CI/CD project, I even containerized ABE and Deployer so that I could run those scripts in a serverless manner. Our pipeline runs in Gitlab and leverages Docker-in-Docker to spin up the ABE container to do the build and then it spins up the Deployer container to do the deployment.