Hello Jenkins team,
I’m trying to understand why so many people have taken the route of setting up “Docker cloud agent” inside Manage Jenkins → Clouds, instead of just going with “Docker agent” inside pipeline, which is officially supported.
In my view, if I go with “Docker cloud agent” way,
- I have to login to the server where Jenkins is hosted.
- I need to edit Docker’s service file “/lib/systemd/system/docker.service” and expose REST API port manually.
- Do the setup in Manage Jenkins Cloud.
- Create a Docker image of your own.
- Add that Docker image under “Docker agent template”
- Then finally refer that template’s name in the pipeline.
Instead of all these extra steps, if I go with “Docker agent” support inside pipeline directly,
- I don’t even need to login to server where Jenkins is hosted.
- I can also do more customization using “Dockerfile” and committing it to the source code.
What is the exact reason for choosing OR when should I choose “Docker cloud agent”?
And where is the official documentation to expose Jenkins REST API port like this?
Thank you.