• bizdelnick@lemmy.ml
    link
    fedilink
    arrow-up
    47
    arrow-down
    2
    ·
    10 months ago

    Jenkins is not a modern CI. It is a historical milestone, but if you read an article you should see that it was replaced by other tools. Now I don’t recommend considering Jenkins for new projects. It it fast to set up but extremely hard to support and full of old bugs and legacy code. Writing Groovy pipelines is much harder than pipelines in gitlab/github/forgejo/etc. Tens of plugins you have to use even for simple tasks have inconsistent syntax, many of them are buggy, they often become unsupported or deprecated. This all consumes lot of resourses: I maintain an instance that eats ~4G of RAM being idle.

    • bobburger@fedia.io
      link
      fedilink
      arrow-up
      5
      ·
      10 months ago

      I have a soft spot for Jenkins because it was the first integration tool I ever used fresh out of college.

      But today I want to stab the server because a job started failing randomly with a permission error when trying to copy a file.

    • bobburger@fedia.io
      link
      fedilink
      arrow-up
      1
      arrow-down
      3
      ·
      10 months ago

      I have a soft spot for Jenkins because it was the first integration tool I ever used fresh out of college.

      But today I want to stab the server because a job started failing randomly with a permission error when trying to copy a file.

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    10 months ago

    I like Jenkins a lot - but I’d love it if somebody could give it a bit of a facelift. It looks and feels very aged at this point.

  • Olap@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    2
    ·
    10 months ago

    You know what’s a hard pill to swallow for Jenkins haters? It’s likely older than your career, and is going to outlive you too. Like bash, and C, and gnu-utils.

    Want to appear godlike in any org? Learn a tiny amount of groovy and read the pipelines pages - https://www.jenkins.io/doc/book/pipeline/

    Jenkins is battle tested, Jenkins is likely already in your org, and replacing it for anything else is almost not worth the time from a strategic perspective. But it isn’t perfect, testing it in particular - a pain in the ass

    So here’s the best tip: skinny Jenkinsfiles. When you use a sh: have it run a Makefile command, or your build tool command. Keep them short single line things. Don’t rely on massive ENVs. Dockerfiles for most stuff. Dynamic container agents in the cloud are actually good. Learn to use archiveArtifact, integrate with test report plugins. Learn about parallel pipelines.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      10 months ago

      Why is that a hard pill to swallow? Longevity doesn’t imply goodness, especially in software. Same for Bash, C and gnu utils.

      It also doesn’t mean it’s a good idea to use it. I would strongly recommend… basically anything else over Jenkins.

      Maybe I missed your point there.

      • Olap@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        10 months ago

        why do you recommend other tools over things which are tested and will last way longer than whatever the current fad is? The best part of Jenkins is it’s ubiquitousness - writing code that will run forever is not to be sniffed at

        • drislands@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          10 months ago

          That’s one of the reasons I like Java. It definitely has problems, but it’s been around so long that there are an insane number of libraries to work with. And you can practically guarantee that your project will run on a given computer with minimal fuss.