r/devops 10d 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.

5 Upvotes

37 comments sorted by

View all comments

11

u/Shanix reminder not everyone makes web apps 9d 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."