Live data from Hacker News

Untangling Jenkins

conjur.org

31–40 of 53 posts

Re: Untangling Jenkins

#31
post #17

Earlier quoted context omitted.

Another downside to Jenkins: $200/hr to learn other products do it just as well with much less overhead.

I think $200/h is a low-end average estimate for any type of enterprisey software, open source or not. If you don't buy expertise in the short term, it may cost you a lot more in the long run.

$200/hr sounds expensive until you realize you are gaining access to all the mistakes they've made on someone else's dime.

Re: Untangling Jenkins

#32

I am spearheading an effort to release a CloudFormation template that will launch Jenkins clusters into your AWS account. It represents everything learned while working with Jenkins for over 6 years including 2.5 years of Jenkins at Lyft and 1 year at DoorDash. If you would like to collaborate, please contact block.jon@gmail.com. The project was written with an eye towards making the launching of a Jenkins cluster ve…

I don't have cycles to help, but please post this on HN when you are ready!

Re: Untangling Jenkins

#33
post #4

Earlier quoted context omitted.

There's a Declarative Pipeline these days plus you can turn on the Groovy sandbox. There's also a YAML based thing but I forgot its name.

Can you provide links? I'm on a plane so very hard to Google. Seriously? Downvotes? On a holiday on a plane and I get down votes asking for a little help? I did try and google and didn't find the stuff.

I agree it's not easy to Google for the Declarative Pipeline or Groovy Sandbox. Here's the comparison of the two syntaxes available in Jenkins Pipeline (Scripted and Declarative):

https://jenkins.io/doc/book/pipeline/syntax/#compare

Here are details on the Groovy Sandbox (provided by the Script Security Plugin and installed by default when installing recent Jenkins). The Groovy Sandbox is on by default for Jenkins Pipeline:

https://jenkins.io/doc/book/managing/script-approval/

Re: Untangling Jenkins

#34
post #4

Earlier quoted context omitted.

There's a Declarative Pipeline these days plus you can turn on the Groovy sandbox. There's also a YAML based thing but I forgot its name.

Can you provide links? I'm on a plane so very hard to Google. Seriously? Downvotes? On a holiday on a plane and I get down votes asking for a little help? I did try and google and didn't find the stuff.

We use JJB, which is YAML based.

https://github.com/hyperledger/ci-management/tree/master/jjb

for instance

Re: Untangling Jenkins

#35
post #31

Earlier quoted context omitted.

I think $200/h is a low-end average estimate for any type of enterprisey software, open source or not. If you don't buy expertise in the short term, it may cost you a lot more in the long run.

$200/hr sounds expensive until you realize you are gaining access to all the mistakes they've made on someone else's dime.

Consultants are long gone by the time their mistakes are apparent.

Re: Untangling Jenkins

#36

I have come up with a slogan for Jenkins: "Jenkins - The butler that does not hesitate to do a disservice". It is currently the most brittle piece of infrastructure we run, with jobs spiralling out of control and slaves crashing with cryptic exceptions. Add to that a horrible plugin ecosystem (tried to install the Slack plugin, it crashed all builds and our webhook endpoint). Add to that groovy (I don't feel like bec…

That matches my experience. Jenkins is built out of a spiderweb of plugins and that makes it very fragile. Though, I did find I could mitigate the problem.

* only use Jenkins stable releases

* snapshot the system before updating or installing anything

* make regular backups of your Jenkins server

* never install a plugin unless it's actually neccessary

* always update Jenkins before installing any new plugins as otherwise you may end up with an untested mishmash of old and new plugins

I like having control over my CI, but it does seem a lot harder than it should be.

Re: Untangling Jenkins

#37
post #21

Earlier quoted context omitted.

”It's also just a bit of an organizational nightmare to see 200+ jobs on the main screen” I never look at the main screen. You can create tabs that segment those 200 jobs. If your job names are consistent (as they should), you can do the segmenting by regular expression (I’m not sure whether creating tabs requires a plug-in) As to doing (almost) the same thing for different projects: you can POST XML job definitions…

If you get to that point, check out the Job DSL plugin.

I would have to convince the system administrator to install that plug-in.

I also don’t like having to use yet another language (or two, counting Groovy and the Job DSL separately), but that, I could live with.

Re: Untangling Jenkins

#38
post #4

Earlier quoted context omitted.

Going off of this I wouldn't even use job dsl or pipelines as they allow you to execute arbitrary groovy. I would consider emulating Travis ci or Amazon pipelines where it is all declarative not imperitive. This way you can re-impliment and consolidate without doing a Turing complete parse of tons of custom groovy scripts

There's a Declarative Pipeline these days plus you can turn on the Groovy sandbox. There's also a YAML based thing but I forgot its name.

Yea but the declarative pipelines have cheat codes that allow cheeky (read lazy) people to still run code in the pipeline:(

Re: Untangling Jenkins

#39
post #33

Earlier quoted context omitted.

Can you provide links? I'm on a plane so very hard to Google. Seriously? Downvotes? On a holiday on a plane and I get down votes asking for a little help? I did try and google and didn't find the stuff.

I agree it's not easy to Google for the Declarative Pipeline or Groovy Sandbox. Here's the comparison of the two syntaxes available in Jenkins Pipeline (Scripted and Declarative): https://jenkins.io/doc/book/pipeline/syntax/#compare Here are details on the Groovy Sandbox (provided by the Script Security Plugin and installed by default when installing recent Jenkins). The Groovy Sandbox is on by default for Jenkins Pi…

thanks

Re: Untangling Jenkins

#40
post #34

Earlier quoted context omitted.

Can you provide links? I'm on a plane so very hard to Google. Seriously? Downvotes? On a holiday on a plane and I get down votes asking for a little help? I did try and google and didn't find the stuff.

We use JJB, which is YAML based. https://github.com/hyperledger/ci-management/tree/master/jjb for instance

thanks
Post reply on HN