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.
Hope this helps,
Percio
#webMethods#Integration-Server-and-ESB