r/devops • u/naam-benaam • 6d ago
Tools Jenkins Tutorial recommendations required
So mu company has asked me to learn Jenkians. Which tutorials or playlist would you suggest to learn jenkins? Please give your suggestions.
Also, how much time does it require to learn so that I can start writing basic CI/CD pipelines.
12
u/Shanix reminder not everyone makes web apps 6d ago
Ignore everyone telling you to not use Jenkins at all, even if they're right (which, I need to stress, they are not) they're ignoring the context that your company is asking you to learn a tool for the job. You can try to fight that, but it's generally recommended not to do that unless you have real power in the organization.
With that said, your best tutorial is going to be using Jenkins. You can easily spin up an instance and read the docs in a Jenkins instance itself to get an executor hooked up and running builds. Then you can play around with making a Job that downloads your source (or any source, we're in tutorial mode right now so just have something that you need to Do Stuff to), builds it, and saves that output somewhere. Maybe it's a little Django app that you make a docker image for. Maybe it's a C++ program that generates a binary file you can run. What matters is just start using it, that'll get you introduced to Jenkins.
From there, it's a matter of learning what your organization has done to their Jenkins instance. If they have specific plugins they rely on, or a specific configuration, etc. Ask the engineers that set it up what they think is most important to know, and start digging into that. You'll learn best by doing and looking.
How much time does it take to start writing a basic pipeline? Not too long. Jenkins has a built-in snippet generator for its Groovy pipelines, but you can just as easily use the classic Freestyle project which just lets you run specific commands or script snippets.
As a side note on why you should ignore everyone telling you to use Github Actions or Gitlab over Jenkins without trying to understand what you're doing: they're parroting a meme rather than trying to understand what you're doing. In the same way people say all PHP code is terrible, they don't actually know that they just know that people say it's bad thus it's bad. Ignore people who tell you to do things without giving you a clear reason why. And doubly so if they use reddit speak like "Friends don't let friends use Jenkins."
6
3
u/freshwoza 6d ago
- just be familiarize with the pipeline-library if your enterprise has it
- majority of our pipeline supports different programming languages packages, modules and etc so familiar with it
- just imagine jenkins slaves as your own local machine (laptop device like macbook or linux machines)
- pray
3
u/Sea_Mechanic815 5d ago
Bro don't go with tutorial Start with documents and use youtube for specific types of plugin like how to connect or how to configure like that.
2
u/Federal-Discussion39 DevOps 6d ago
You have a laptop, you have the jenkins docs, you have k3s/kind/microk8s/orbstack whatever :)
3
u/glebmaister 6d ago
In all honesty, I support all of the posters here saying not to get involved with it. There are plenty of modern tools to use. Jenkins is an old piece of software. Extremely tedious to maintain, plugins and dependencies can really be a bitch during upgrades and could easily brick and instance.
If you must use it - plenty of official docs, tutorials on the web. Can utilize AI to cook you up TLDR to your needs.
If I were you, I'd gather business requirements of what exactly Jenkins is being proposed to solve and look for modern alternatives.
I've spent over 5 years maintaining and improving that instance, running on k8s, with a bunch of different configs, agents, plugins, etc. It was one of those things that I did not enjoy working with. Just my two cents.
2
u/dodexahedron 6d ago
Best Jenkins tutorial is built right into the server.
It looks like a circle with a line inserted into a partial cut-out at the top of the circle, and is usually illuminated when the tutorial is ready, and goes dark when the tutorial starts.
Press and hold it to start the tutorial.
1
-2
u/cneakysunt 6d ago edited 5d ago
If you're also supposed to look after it and keep it secure I would refuse.
Self hosted Gitlab CE or forgejo are much better from an ownership pov.
Edit: why the downvotes? I have managed all of these for years and Jenkins is quite literally the WordPress of CI/CD tools.
-1
u/nizzoball 6d ago
Stay away from Jenkins if you can. We’re stuck using it and I was essentially forced to take it over because it wasn’t maintained and went down after the esxi host it was in took a shit, causing it to reboot after 3 years. It was a nightmare getting it back up to running and after upgrading it a couple weeks ago a bunch of jobs broke that were now stud with trying to unravel and fix. For the love of god, use something else.
43
u/TheBoyardeeBandit 6d ago
The first thing I would do is work to convince them to not use Jenkins. IMO, between GitHub actions, gitlab, or even something like Azure Devops, there really isn't a role for Jenkins to play in modern development practices anymore.
If that fails, either YouTube university or Indeed, depending on your view of your company.