I would simply stay away from Jenkins if you are getting started from scratch. I have used it for months, and the amount of effort you have to poor into it, and still get scaling and outage issues is not really acceptable.
In contrast when using Buildkite [0] you get essentially all the power and flexibility of Jenkins, but without the crushing technical debt, inherent flaws and complexity. Benefits I have seen of Buildkite over Jenkins:
- Never have to worry about scaling a Jenkins master again
- Build history lasts forever, so no need to setup a system to save logs
- Everything can be in your repo, so you are always confident of changes and testing is easy
- The UI is easy to understand and you can link directly to failed log lines
- Control your own workers, and easily setup autoscaling without any drama
- Flexible plugin and annotation system allows for extensibility
0 - https://buildkite.com/features