EDIT: So to be clear, I'm not saying "Jenkins is better than GitLab". I would say GitLab CI is better designed, more robust and stable, but Jenkins is more configurable, extendable and has more features through it's plugin ecosystem. So personally, I wouldn't go back to Jenkins, but I also don't find it ridiculous that people still use it.
I think you may have perhaps misjudged just how entrenched Jenkins is in corp/enterprise.
This is true for X11 and this is true for the QWERTY layout. The benefit of switching must outweigh the enormous hassle of doing so. It's easy to find something that's a little bit better, but that's simply not good enough to merit a switch.
Often they're around because when it comes around, they do a such a decent job and it's difficult to actually produce something that has that sort of advantage.
QWERTY seems to be too embedded even for that, but I wonder if it gets closer to replacement the higher the percentage of software keyboards climbs vs physical ones.
I'm sympathetic to wanting legacy mindhorrors replaced with modern stuff, but genuine question:
When do you ever have such problems xD
I've multimonitored on X11 for like 4 years and never experienced that.
This wasn't an old-school problem, either, it was three months ago.
There are hundreds of people here for that I'm not in HR, but I guess that's a lot of money spent each year, just to get the same issues we had last year
It takes a lot of money to not improve the situation
Over time, there's so much stuff that it does that replacing it is a ton of work. And by work I mean verification and communication. Many developers have no idea how stuff gets built, or how dependencies are managed in the build system. You forget one thing and the build is toast. Hunting this info down takes a ridiculous amount of time.
Now expand that to X number of projects, and you're looking at a year of work...and a delay while QA checks everything again.
For what?
Good luck getting that prioritized.
And when you do now install and most of plugins is out of date and with security bugs...
Also those who want to avoid vendor lock in. Git repo might be moved around, do you like changing CI/CD scripts every time you change your git hosting service?
GHA work really well for simple stuff. For more complex in a larger organization there is no clear winner.
Bitbucket is also a big part of this story.
That results in seeing Jenkins all over the ding-darn place at Boeing, LockMart, RC, L3, NGA, etc.
Of course, all that is thrown right out the window if you wire up the Jenkins instance to the goddamn internet.
- Drone CI: https://www.drone.io/
- Buildbot: https://buildbot.net/
- Gitea Actions: https://docs.gitea.io/en-us/usage/actions/overview/
- Fogejo Actions: https://forgejo.org/2023-02-27-forgejo-actions/
- GitLab Runners: https://gitlab.com/gitlab-org/gitlab-runner
You could also use Ansible playbooks/roles to run your build, although that's going to be a bit more manual: https://www.ansible.com/
Not necessarily endorsing any of the alternatives, just pointing them out.
Say you were developing inn Angular and Python. Which one of these "alternatives" should I look in to? ie. Which is most requested by typical requiters?
- Woodpecker CI: https://woodpecker-ci.org/
- Buildbot: https://buildbot.net/
- GitLab Runners: https://docs.gitlab.com/runner/
- Gitea Actions: https://docs.gitea.io/en-us/usage/actions/overview/
- Forgejo Actions: https://forgejo.org/2023-02-27-forgejo-actions/
- Drone CI: https://www.drone.io/
- CircleCI (not free nor open-source, but self-hosted): https://circleci.com/pricing/server/
- GitHub Runners (same deal as CircleCI): https://docs.github.com/en/actions/hosting-your-own-runners/...
Near-every other CI also can't just browse which tests failed and with what message without digging directly into logs
And that's like the fucking basic feature every CI/CD should have.
It was a bit painful to write the same stuff in GitHub actions. Jira's groovy script made loops, storing variables very easy compared to GitHub actions' YAML.
Switching away from Jenkins would cost effort and offer no competitive advantage to your end product, so then why do it?
Jenkins still lives in legacy, and probably will for some time.
Fun times.