Jenkins on OCI architecture

Hi, novice user here.
Have a test implementation on an Oracle cloud tennancy compute instance, looking to plan the real implementation. Got a pipeline script working deploying XML (from GitHub created by Liquibase) to Oracle ATP, no issues.

My question is around architecture. I have been reading about master/slave nodes and am questioning the need for slaves. Our deployments are generally simple, fast SQLCL scripts, can’t see a need for parallel deployments (yet). Sould I factor in slave nodes maybe one for each environment or just work with the master? Any experience shared would be greatly appreciated!

Thank you

We intentionally use the term “controller” to replace “master” and “agent” to replace “slave”. That change is part of our inclusive naming initiative.

Use at least one agent.

As far as I’ve seen, it is the nature of integration and deployment tasks that they start small and tend to expand. If you limit yourself to run only on the controller, you limit that expansion. Use an agent so that you are better prepared for your future. You are much less likely to overload the controller in the future if you start with at least one agent today. That agent can be on the same computer that is hosting the controller, but you will thank your future self that you started with one agent.

Running Jenkins jobs on the controller is also a security risk because jobs on the controller have access to the controller file system. You probably don’t care about that risk today, but your future self will thank you when other people ask to use your system.

There is a documentation page that describes it in more detail.

1 Like

Thank you Mark

We intentionally use the term “controller” to replace “master” and “agent” to replace “slave”. That change is part of our inclusive naming initiative.

Noted and will refer to as such going forwards.

Understood with regard to having an agent. Sounds like a single agent might do the job for us. I was concerned we may need an agent per Virtual Network on the cloud which represent our environments (Dev, SIT, UAT, Regression and Prod), to me it seemed like costly overkill.