8 ms·
I have been with jenkins since about 2010. At its peak I had to shepherd ~50 masters of varying ages, plugins and levels of customisations. Yes, it allowed re
by KaiserPro 8y ago
I have been with jenkins since about 2010.
At its peak I had to shepherd ~50 masters of varying ages, plugins and levels of customisations.
Yes, it allowed repeatable builds, and it can be, in certain circumstances a very good replacement for cron jobs where you need to administer >5000 machines.
However, it has an offensive UI, the plugin system appears to be designed to deliberately cause things to break, versioning the flows is difficult, unless you rely on plugins (which break) or want to learn groovy.
Automating and making jenkins it's self repeatable is a soul sapping task.
In short, jenkins needs to disappear.
Yes, cirle is crap, bamboo suck massive genitals.
However I have had great success with gitlab runners. Now that gitlab is actually reliable, they are a brilliant first class integration into a git workflow.
- michaelneale 8y agoI think this "lesson" is not lost on many, including those that built and work with Jenkins and plugins. The Jenkins X project moved to a very different approach, a fresh start. see https://cd.foundation/ https://cd.foundation/ & https://jenkins-x.io https://jenkins-x.io (it works with Jenkins if you like, but natively uses the new pipelines and no SPOF masters). Might not be for everyone but worth a look. disclosure: cofounder of cloudbees here (wanted to comment on original article but not able to for some reason on medium).
- chucky_z 8y agoWhy the dependence on Kubernetes everywhere in these new tools?
- michaelneale 8y agoBut to your point (sorry I missed it first) - assuming kubernetes is like assuming an OS, you get to do things like preview apps and other benefits. But if that isn’t for you https://www.cloudbees.com/products/cloudbees-jenkins-distribution https://www.cloudbees.com/products/cloudbees-jenkins-distrib... aims to simplify the Jenkins config.
- michaelneale 8y agowell as far as I know bash and gcc don't depend on kubernetes yet, but that is a good point. It isnt' for everyone (and I wouldn't want to run it myself - GKE or EKS is fine but otherwise.. it seems tough to run). Also this is really a starting point for Jenkins X - I expect options for non kubernetes to be coming.
- fizwhiz 8y agoWhy does a fictional butler offend you?
- IshKebab 8y agoI think he meant it's offensively bad.
- KaiserPro 8y agoTry jumping onto a jenkins box thats been left to rot. Has been abused by three teams of developers. Its not been updated in two years. Where is that builds thats failing? what has changed? what are the active plugins, who updated them, and when? etc, etc, etc, All of this requires a massive amount of clicking, and because it lazy loads in some versions, it can tak >3 seconds to load a page.
- badloginagain 8y agoGitLab CI is pretty good. I hate, on a fundamental level this whole "bash in YAML" trend. Let's take a powerful, turing complete language and put it in a _config file_. What? I don't even... And the fact that you only get _one_ .gitlab-ci.yml file. That is legitimate madness. Want modularized CI/CD configuration? Not in these parts, buster. Have submodule build dependencies? We laugh at your use case. Sure as shit better than Jenkins though.
- whatshisface 8y agoYou could use a build system to build .gitlab-ci.yml from many source configuration files, and a build system to build the configuration for the build system that builds the configuration for your build system, and...
- majkinetor 8y agoWith newer versions you can include other yaml files. You can also have templates, special jobs starting with dot.
- badloginagain 8y ago> With newer versions you can include other yaml files. Where do you see this? Looking at https://gitlab.com/gitlab-org/gitlab-ce/issues/18157 https://gitlab.com/gitlab-org/gitlab-ce/issues/18157 it seems this kind of support is still not started
- dboshardy 8y agohttps://docs.gitlab.com/ee/ci/yaml/#include https://docs.gitlab.com/ee/ci/yaml/#include
- core-questions 8y ago> I hate, on a fundamental level this whole "bash in YAML" trend. This is why I hate Ansible. Looks simple until you need to do something complex, and then it becomes horrible. Chef's use of an actual language is far better, though on the flip side it's much harder to provide any kind of interface to configure it outside of a text editor. If only there were some language where config data and code were the same data structure. (hmmmmmm)
- exelius 8y agoAgree in all cases. Bamboo was actually ok for a little while; but then they got rid of the cloud version which made it a bit more niche. I also like to plug VSTS in these conversations. It’s really nice to be able to drill down from feature roadmap to build status in a single tool without a lot of config. I haven’t built anything complex in it personally, but hear nothing but good things from the teams I work with who do. Edit: looks like I had the bamboo thing backwards; but I remember I stopped using it for a reason :)
- jm547ster 8y agoWe’re running it on our own cloud provider. Do you not consider that self-hosting?
- staffordrj 8y ago> but then they got rid of the self-hosted version What do you mean by this? Is this not the self hosted version? https://www.atlassian.com/software/bamboo/download https://www.atlassian.com/software/bamboo/download
- garenp 8y agoThey misspoke - it's the cloud version they got rid of.
- bonestamp2 8y agoI agree that we were disappointed when they dropped the cloud version, but we started hosting it ourselves and couldn't be happier. Works much better than Jenkins did for us.
- 27182818284 8y agoAnother "me-too" for GitLab CI. We migrated away from Jenkins to it and it has made life day and night easier. We went from builds and such failing at seemingly almost all the time to builds for Windows and other platforms consistently building and undergoing analysis by other code checking tools
- StevePerkins 8y ago> "... has an offensive UI..." > "... suck massive genitals..." I cannot believe that this is the top-voted comment.
- fizwhiz 8y agoI assumed OP felt that the background UI's fictional butler (a metaphor) is what offended them so I asked why this was the case. Many downvotes ensued.
- jensvdh 8y agoPretty sure they meant the UI is so ugly it's offensive.
- stefan_ 8y agoIf it was only ugly. No, Jenkins UI is the dumpster fire that you would have gotten 20 years ago throwing a bunch of ActiveX components onto a VB panel. Like, let me just drag this Camera component to my snazzy program. Any one click can be a gateway into a one million miles deep rabbithole of unbridled mediocrity and brokenness.
- lsh 8y agoYou know, Drupal feels like this for me as well. We have Jenkins testing and deploying Drupal projects and it's like one of those cranes at the tip parked on top of a mound of garbage, shifting crap from one mound to another.
- KaiserPro 8y agolooks? naa thats not the problem. Its badly laid out, inconsistent and worst of all lazy loading. So its not like you click a button and everything displays. No, you click a button and wait 1.5 seconds whilst everything jiggles about.
- draw_down 8y agoYeah, almost like ideas are more important than the specific way they're expressed. Or are you one of those people who is always commenting on the web page chrome instead of what the article says?
- majkinetor 8y agoGitlab is awesome, its impressive what you get for free. Runners are nice, can run in powershell, bash, docker, vm , you name it. The main problem with runner is that you cant easily execute build script on the host. Exec command isn't very useful and AFAIK deprecated.
- jennbriden 8y agoCodeShip is also a SaaS and is, "Forever free: You can use up to 100 builds per month for free, with unlimited projects and unlimited team members." We are also working at CloudBees to have CodeShip support the emerging Jenkins X Pipeline syntax (YAML that mirrors the functionality of the Jenkins Pipeline). This syntax was based on the Tekton project, driven by the Continuous Delivery Foundation and significantly influenced by Jenkins developers like Andrew Bayer and Devin Nusbaum and by their PM, Nofar Bluestein.
- majkinetor 8y ago100 builds per month ? I have more then that in a day for medium size projects! No, nothing in the cloud, no system you don't fully control is an option in my IT business. Forever. The only thing I tolerate is something totally irrelevant most of the time, (like statuspage maybe), easily replaceable and package repositories (but only because you can install local proxy so once pulled is on premise FOREVER).
- lbotos 8y agoI'm confused at what you mean here. If you want to run things on the host you can run a bash runner, and you have full access to the machine. What do you want to do on the host?
- majkinetor 8y agoThere is gitlab-runner exec command which takes a ci yaml file and executes it, but it sux (A LOT), so they deprecated it. This is not the same as taking a bash/powershell script and running it locally on runners host because gitlab inject into shell some stuff like secrets, env vars, artifacts, caches etc. Some errors are VERY hard to reproduce when not on local executing environment.
- kro92kfmrzz 8y agoWe’re currently replacing Jenkins with EKS, and if it goes well, will consider doing the same with Circle. External partners have costs. And really the kind of things we need these things for here are pretty easy to configure in a Docker container. What we expect we’ll end up with after the Jenkins switch is Cloudformation templates we can hack into a Circle CI replacement. And we’d use GitLab if we could start over there but are bought into some end user tools and workflows that connect to GitHub that people don’t want to give up. BUT no one cares about Jenkins going away since they use it through a Slack bot ️
- symlinkk 8y ago> replacing Jenkins with EKS This doesn't make sense to me. Jenkins is a CI tool - that means it can build, test, and deploy your code. EKS is a managed Kubernetes instance. That means it can run a collection of Docker containers. I don't see how EKS can accomplish building or testing.
- zbentley 8y agoNot the GP, but I suspect they may have been referring to replacing their use of Jenkins as a part-deployment, part-orchestration tool to administer lots of background jobs as a sort of a distributed cron. Many people use Jenkins thus, and in that domain Kubernetes does indeed compete along some axes.
- lstamour 8y agoKubernetes orchestrates running jobs, giving them all required prerequisites and data in the form of Docker containers and can record or report logs, as well as store configuration and secrets. Jenkins orchestrates Jenkins agents running jobs on pre-configured servers, stores configuration and secrets, and records and archives logs and built files. They are both very similar from this perspective. There’s no reason Jenkins couldn’t attach a monitoring system to run a Jenkins job when a service goes down or exceeds capacity. And you probably would prefer storing secrets and files off your Jenkins server if your builds are distributed or you run out of space. Basically... Jenkins is an orchestration service but most people run short-lived tasks with it, and they have to worry about configuring and deploying Jenkins agent images separately.
- jniedrauer 8y agoDo you self-host gitlab? I'd definitely consider moving but it would also mean moving my source control.
- sytse 8y agoIf you are on GitHub you can use GitLab CI with that https://about.gitlab.com/solutions/github/ https://about.gitlab.com/solutions/github/
- jniedrauer 8y agoOh, excellent. This is promising.
- KaiserPro 8y agoI was very much tempted last year, I went so far as to spin everything up and test. However since the reliability has improved 10 fold in the last year, it seems less worthwhile. I do however have a number of gitlab runners running on our own stuff. WE also have an autoscale integration to save money on GPU machines.
- l0b0 8y agoIt's a clear sign that we're learning as a community, and that open source really does enable innovation[0]. Someone builds Useful System iteration 1, we all learn what part of it works and doesn't, and someone builds iteration 2 because it scratches their itch. Repeat for goodness. [0] It's unfortunate that big open source projects are never willing to pivot when fundamentals of the original design are shown to be bad. Rarely used features, for example, are never removed in order to make the software better for the overwhelming majority of users.
- jayd16 8y agoIs there something in gitlab that can give you same type of node, job, pipeline and trend information in a dashboard like jenkins can?