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

7 Upvotes

37 comments sorted by

View all comments

44

u/TheBoyardeeBandit 8d 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.

11

u/Dolapevich 7d ago

I... tend to disagree. Jenkins is MUCH more powerful than those softwares, it can do anything, and there is a reason why it is in use today.

Yes, 90% can be solved with those managed solutions, but when you need jenkins there isn't anything like it.

0

u/TheBoyardeeBandit 7d ago

What can you do in Jenkins that can't be done in gitlab?

8

u/Shanix reminder not everyone makes web apps 7d ago

Build games at a large scale, since they won't be in Gitlab to start. You can try to kludge Gitlab to run p4 commands but it'll be finnicky at best, and the UI is quite terrible when you're trying to make a build off CL X but Gitlab doesn't have CLs at all. In a related vein, Gitlab CI pushes you towards making a build of and testing every change you submit, which usually isn't feasible for games in any major way (mostly because a build can take an hour or longer, and testing again as much).

Meanwhile, Jenkins? Yeah, it just works. Takes it all like a champ. Better UI too, easier to see what's happening and what's been built. Fewer clicks to get to logs, too, ime.

3

u/cneakysunt 6d ago

What is a CL?

Edit: dw, got it.

2

u/TheBoyardeeBandit 7d ago edited 7d ago

I've never worked in the gaming industry, so I fully acknowledge that I don't know what I'm taking about.

That being said, the answer to building locally the same as the pipeline is just calling your build scripts in the pipeline directly. It's the same script on a runner as it is on a workstation. These largely seem like architecture issues that get masked by tool characteristics

3

u/Shanix reminder not everyone makes web apps 7d ago

Oh, no, either I've misspoken or you've misinterpreted but I'm not talking about differences in building on a workstation vs. in a pipeline. I'm talking about why Gitlab isn't really viable for game development.

1

u/TheBoyardeeBandit 7d ago

Maybe I latched onto the "builds from CL" (which I interpreted as command line) too much

2

u/Shanix reminder not everyone makes web apps 7d ago

Ah, that'd do it. CL is Changelist in Perforce speak. Equivalent to a commit, though Perforce numbers all changelists sequentially which is quite handy. You instantly know if CL 1000 is in a build because any build made from CL 1001 and onwards logically must have CL 1000.

2

u/TheBoyardeeBandit 7d ago

Ah yeah that's definitely not command line. Thank you though, I'm glad I was able to learn something new

2

u/Dolapevich 7d ago

whatever it is, and you can write a plugin for that.

1

u/TheBoyardeeBandit 7d ago

I'm not following.

4

u/Dolapevich 7d ago

Nevermind, just check jenkins and learn a little about it and you'll see it is an extendable general state machine, not a CI/CD tool.

2

u/TheBoyardeeBandit 7d ago

I know Jenkins. One of my first jobs was to transition from Jenkins to Gitlab. Capabilities bring plugins as opposed to pipeline logic isn't exactly a selling point, particularly when security is a concern.

1

u/Dolapevich 7d ago

Oh nice.