News for hackers. Stuff that matters.
Re:Jenkins Is Getting Old by KaiserPro on Monday April 29, 2019 @04:17PM (#19782196)
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.

Re:Jenkins Is Getting Old by badloginagain on Monday April 29, 2019 @04:48PM (#19782464)
GitLab 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.

Re:Jenkins Is Getting Old by core-questions on Monday April 29, 2019 @05:36PM (#19782821)
> 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)

Re:Jenkins Is Getting Old by inferiorhuman on Monday April 29, 2019 @07:49PM (#19783747)
I'll take writing stuff in YAML (Ansible) over all of the complexities and performance issues Chef brings. At megacorp a lot of my peers still hadn't let go of the button pusher mentality and were both inexperienced at coding and skeptical of automation. The problem with the power of ruby (as Chef exposes it) is that you've got the power of ruby aimed right at your foot.

On top of it, using ruby was a big pain when trying to work with rvm (e.g. for deploying ruby apps or developing ruby apps and running chef commands locally). Things may have gotten better since I last suffered through Chef, but we started running towards terraform + cloudformation.

Re:Jenkins Is Getting Old by madjam002 on Monday April 29, 2019 @06:39PM (#19783282)
Re:Jenkins Is Getting Old by bsder on Monday April 29, 2019 @06:29PM (#19783204)
I really don't understand why people are so reluctant to use Tcl for these kinds of things.
Re:Jenkins Is Getting Old by teacpde on Monday April 29, 2019 @08:15PM (#19783904)
> If only there were some language where config data and code were the same data structure. (hmmmmmm)

Instantly reminds me of SICP and Lisp, code is data.

Re:Jenkins Is Getting Old by Jedd on Monday April 29, 2019 @06:28PM (#19783198)
> If only there were some language where config data and code were the same data structure. (hmmmmmm)

Do you perhaps mean syntax rather than structure? (Or a subset of the syntax.)

If I've guessed correctly, that language has already been wedged into lots of places that it's a poor fit, so I guess there's precedent there.

Re:Jenkins Is Getting Old by mynegation on Monday April 29, 2019 @07:09PM (#19783491)
I am pretty sure Lisp was wedged into some places where it is a poor fit, but “lots”? Did you guess Javascript by any chance?
Re:Jenkins Is Getting Old by Jedd on Monday April 29, 2019 @08:38PM (#19784037)
I did guess Javascript, as it happens.

Was I wrong? If it was meant to be a reference to Lisp, I take much of it back.

Re:Jenkins Is Getting Old by ISO-morphism on Monday April 29, 2019 @09:52PM (#19784436)
The parent was most likely referring to lisp, but note that there are other homoiconic [1] languages.

[1] https://en.m.wikipedia.org/wiki/Homoiconicity

Re:Jenkins Is Getting Old by lacion on Monday April 29, 2019 @06:34PM (#19783247)
you can write python plugins and modules to extend functionality, there is no need to just start running commands everywhere.
Re:Jenkins Is Getting Old by ElFitz on Monday April 29, 2019 @08:08PM (#19783858)
AWS CDK seems nice
Re:Jenkins Is Getting Old by jl-gitlab on Tuesday April 30, 2019 @02:14AM (#19785540)
GitLab CI/CD product director here - we're working towards making includes more flexible to give you a lot more control. Would love your feedback on the small primitives we're looking at here: https://about.gitlab.com/direction/cicd/#powerful-integrated...

This for us represents our vision so far on where we want to take GitLab CI next and I think addresses where you see gaps with our product today - we see them too.

Re:Jenkins Is Getting Old by jhanschoo on Monday April 29, 2019 @07:27PM (#19783611)
> 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_.

That's a feature. You don't want to reason in Turing languages, you want to reason in a mostly restricted grammar with its Turing-complete escape hatches clearly pointed out.

Re:Jenkins Is Getting Old by whatshisface on Monday April 29, 2019 @04:51PM (#19782504)
You 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...
Re:Jenkins Is Getting Old by nhumrich on Monday April 29, 2019 @07:57PM (#19783789)
Gitlab lets you run any step with a different docker base image. How about instead of bash scripting in the yaml, you just put scripts, in any language, in a docket file, and simply use bash to call those scripts. The gitlab yaml is not designed for you to code in, bash is just a standard interface for calling into other things.
Re:Jenkins Is Getting Old by donmcronald on Monday April 29, 2019 @08:46PM (#19784097)
This is what I’ve been doing lately. It has the advantage of being able to run the scripts without GitLab CI.
Re:Jenkins Is Getting Old by majkinetor on Monday April 29, 2019 @05:23PM (#19782747)
With newer versions you can include other yaml files.

You can also have templates, special jobs starting with dot.

Re:Jenkins Is Getting Old by badloginagain on Monday April 29, 2019 @05:52PM (#19782928)
> 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 it seems this kind of support is still not started

Re:Jenkins Is Getting Old by dboshardy on Monday April 29, 2019 @06:22PM (#19783159)
Re:Jenkins Is Getting Old by michaelneale on Monday April 29, 2019 @05:44PM (#19782893)
I 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://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).

Re:Jenkins Is Getting Old by chucky_z on Monday April 29, 2019 @08:42PM (#19784063)
Why the dependence on Kubernetes everywhere in these new tools?
Re:Jenkins Is Getting Old by michaelneale on Monday April 29, 2019 @11:52PM (#19785026)
But 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-distrib... aims to simplify the Jenkins config.

Re:Jenkins Is Getting Old by michaelneale on Monday April 29, 2019 @11:02PM (#19784776)
well 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.

Re:Jenkins Is Getting Old by exelius on Monday April 29, 2019 @05:03PM (#19782598)
Agree 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 :)

Re:Jenkins Is Getting Old by staffordrj on Monday April 29, 2019 @06:21PM (#19783143)
> 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

Re:Jenkins Is Getting Old by garenp on Monday April 29, 2019 @06:45PM (#19783328)
They misspoke - it's the cloud version they got rid of.
Re:Jenkins Is Getting Old by bonestamp2 on Monday April 29, 2019 @07:00PM (#19783430)
I 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.
Re:Jenkins Is Getting Old by jm547ster on Monday April 29, 2019 @06:08PM (#19783046)
We’re running it on our own cloud provider. Do you not consider that self-hosting?
Re:Jenkins Is Getting Old by 27182818284 on Monday April 29, 2019 @05:08PM (#19782635)
Another "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
Re:Jenkins Is Getting Old by l0b0 on Monday April 29, 2019 @07:04PM (#19783462)
It'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.

Re:Jenkins Is Getting Old by majkinetor on Monday April 29, 2019 @05:26PM (#19782765)
Gitlab 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.

Re:Jenkins Is Getting Old by lbotos on Monday April 29, 2019 @07:04PM (#19783461)
I'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?

Re:Jenkins Is Getting Old by majkinetor on Tuesday April 30, 2019 @01:27PM (#19789993)
There 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.

Re:Jenkins Is Getting Old by boleary-gl on Wednesday May 01, 2019 @11:54AM (#19798305)
GitLab Product Manager for Verify (CI) here.

I agree! I think that we have lots of improvements to make here. One feature that is underutilized (more on that in a second) that tries to answer this is our [1] interactive web terminal that lets you connect directly to the container or runner that is running a job. Would love feedback on how that could maybe help here.

Now, having said that there are two issues still open that are top of mind for making this minimal viable change much more usable. One is making the Web Terminal work in our shared runner pool on GitLab.com [2]. This is obviously required for users of .com who don't want to bring their own runner and something we're working closely with our Production and Security teams on making a reality.

In addition, there is a command today of `gitlab-runner exec` that allows you (in theory) to install the GitLab runner locally and execute it on your development machine. However, we technically depreciated that and have plans to re-implement it in a more useful way. [3]

[1] https://docs.gitlab.com/ee/ci/interactive_web_terminal/

[2] https://gitlab.com/gitlab-org/gitlab-ce/issues/56073

[3] https://gitlab.com/gitlab-org/gitlab-runner/issues/2797

Re:Jenkins Is Getting Old by jennbriden on Monday April 29, 2019 @05:46PM (#19782901)
CodeShip 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.

Re:Jenkins Is Getting Old by majkinetor on Tuesday April 30, 2019 @01:35PM (#19790068)
100 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).

Re:Jenkins Is Getting Old by KaiserPro on Tuesday April 30, 2019 @05:28AM (#19786359)
You haave to install the runner on the target, then you can use exec, plus a switch to allow it to run as root. The key is it has to be configured on the target device _first_.

Then you have a root shell on your target device (I leave the "should" as an exercise for the user )

But, It won't work using the free shared gitlab runners.

Re:Jenkins Is Getting Old by majkinetor on Tuesday April 30, 2019 @01:30PM (#19790025)
I use gitlab on premise and install runner via Chocolatey package I maintain: http://chocolatey.org/packages/gitlab-runner
Re:Jenkins Is Getting Old by jayd16 on Monday April 29, 2019 @08:03PM (#19783823)
Is there something in gitlab that can give you same type of node, job, pipeline and trend information in a dashboard like jenkins can?
Re:Jenkins Is Getting Old by jniedrauer on Monday April 29, 2019 @05:44PM (#19782895)
Do you self-host gitlab? I'd definitely consider moving but it would also mean moving my source control.
Re:Jenkins Is Getting Old by KaiserPro on Tuesday April 30, 2019 @05:08AM (#19786273)
I 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.

Re:Jenkins Is Getting Old by sytse on Monday April 29, 2019 @08:05PM (#19783839)
If you are on GitHub you can use GitLab CI with that https://about.gitlab.com/solutions/github/
Re:Jenkins Is Getting Old by jniedrauer on Tuesday April 30, 2019 @11:09AM (#19788612)
Oh, excellent. This is promising.
Re:Jenkins Is Getting Old by kro92kfmrzz on Monday April 29, 2019 @05:35PM (#19782813)
We’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 ️

Re:Jenkins Is Getting Old by symlinkk on Monday April 29, 2019 @05:58PM (#19782973)
> 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.

Re:Jenkins Is Getting Old by lstamour on Monday April 29, 2019 @07:52PM (#19783762)
Kubernetes 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.
Re:Jenkins Is Getting Old by zbentley on Monday April 29, 2019 @06:16PM (#19783104)
Not 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.
Re:Jenkins Is Getting Old by StevePerkins on Monday April 29, 2019 @05:09PM (#19782639)
> "... has an offensive UI..."

> "... suck massive genitals..."

I cannot believe that this is the top-voted comment.

Re:Jenkins Is Getting Old by KaiserPro on Tuesday April 30, 2019 @05:24AM (#19786342)
which bit?

was it because I mentioned genitals, or should I use stronger coprophilic comparative adjectives instead?

or was it because expressing intense dislike for a slow, arcane and frustratingly inconsistent UI.

Its not like I dismiss jenkins out of hand. There are still strong usecases. But there better, simpler, repeatable alternatives

Re:Jenkins Is Getting Old by fizwhiz on Monday April 29, 2019 @05:19PM (#19782715)
I 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.
Re:Jenkins Is Getting Old by jensvdh on Monday April 29, 2019 @05:31PM (#19782791)
Pretty sure they meant the UI is so ugly it's offensive.
Re:Jenkins Is Getting Old by stefan_ on Monday April 29, 2019 @07:15PM (#19783520)
If 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.

Re:Jenkins Is Getting Old by lsh on Monday April 29, 2019 @08:39PM (#19784048)
You 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.
Re:Jenkins Is Getting Old by KaiserPro on Tuesday April 30, 2019 @05:05AM (#19786262)
looks? 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.

Re:Jenkins Is Getting Old by fizwhiz on Monday April 29, 2019 @04:28PM (#19782303)
Why does a fictional butler offend you?
Re:Jenkins Is Getting Old by KaiserPro on Tuesday April 30, 2019 @05:11AM (#19786292)
Try 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.

Re:Jenkins Is Getting Old by IshKebab on Monday April 29, 2019 @05:41PM (#19782862)
I think he meant it's offensively bad.