If you just want to play with Jenkins, I recommend just getting it up and running in Docker and using only Jenkins Pipelines for jobs and JCasC for system configuration.
This directory (https://github.com/peterwwillis/devops-tools/blob/master/os/...) has basically everything you need to get the manager up and running as a container. (though I think I still need to add Docker to the master container, so you can use the host's Docker daemon to run arbitrary build agent containers on the fly)
From there you can play with the JCasC configuration to do things like add agents, configure the security realm, seed jobs at start-up, etc. Documentation is pretty sparse, but you can at least log in to the web UI and start playing around.
Outside of a single build node, I highly, highly recommend not using Jenkins. It's just such an unnecessarily complicated beast to manage with modern best practices, you might as well just cobble together your own system, or use a real modern distributed build system. It will take you just as long as going through all the endless bullshit options of trying to force Jenkins to do what you want, but you'll actually have something simple and useful in the end that works (if you choose to).
Outside of a single build node, I highly, highly recommend not using Jenkins. It's just such an unnecessarily complicated beast to manage with modern best practices, you might as well just cobble together your own system, or use a real modern distributed build system. It will take you just as long as going through all the endless bullshit options of trying to force Jenkins to do what you want, but you'll actually have something simple and useful in the end that works (if you choose to).
So much this. I've worked with Jenkins for most of my professional career. Its much better today than what it used to be, but compared to the CI toolings that are now available, using it today makes no sense at all (with a few exceptions, especially when it comes to maven build pipelines).
Comments
If you just want to play with Jenkins, I recommend just getting it up and running in Docker and using only Jenkins Pipelines for jobs and JCasC for system configuration.
This directory (https://github.com/peterwwillis/devops-tools/blob/master/os/...) has basically everything you need to get the manager up and running as a container. (though I think I still need to add Docker to the master container, so you can use the host's Docker daemon to run arbitrary build agent containers on the fly)
From there you can play with the JCasC configuration to do things like add agents, configure the security realm, seed jobs at start-up, etc. Documentation is pretty sparse, but you can at least log in to the web UI and start playing around.
Outside of a single build node, I highly, highly recommend not using Jenkins. It's just such an unnecessarily complicated beast to manage with modern best practices, you might as well just cobble together your own system, or use a real modern distributed build system. It will take you just as long as going through all the endless bullshit options of trying to force Jenkins to do what you want, but you'll actually have something simple and useful in the end that works (if you choose to).
So much this. I've worked with Jenkins for most of my professional career. Its much better today than what it used to be, but compared to the CI toolings that are now available, using it today makes no sense at all (with a few exceptions, especially when it comes to maven build pipelines).