CMV: Jenkins shouldn't be anywhere near a robust, mature application environment

This page summarizes the projects mentioned and recommended in the original post on /r/devops

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • configuration-as-code-plugin

    Jenkins Configuration as Code Plugin

  • Most of the main plugins are configurable (here are some examples) and the rest you can configure via groovy. If there's good documentation, writing the groovy scripts is fairly easy too

  • pipeline

    A cloud-native Pipeline resource.

  • Repo: https://github.com/tektoncd/pipeline

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • artifact-manager-s3-plugin

    Artifact manager implementation for Amazon S3

  • So, yep done all this and completely agree. I set this all up with Terraform, Docker, and JCasC. However with our 80 person org and around 30 active repos (all with multibranch pipelines) ,200-300 builds a day; I'm seeing reboot times in the 15-20 minutes range (which hurts.) Also, if you don't drain the Jenkins instance prior to replacement then the currently running jobs fail; causing more issues (need to automate this anyone got a script?). Other complaints, plugins break ALL THE TIME so we really have to do some QA before sending a new Jenkins container out to prod. The S3 Artifact plugin doesn't do multipart uploads which limits the maximum size and performance on stash/archiveArtifact (patch here https://github.com/jenkinsci/artifact-manager-s3-plugin/pull/141; could still use a patch to stream the zip/tarball creation). The downstream build feature is really powerful but the blue ocean ui is iffy on it (sometimes it shows downstream builds; sometimes not). The ec2 plugin works but I've never gotten the spot-fleet plugin to work properly (specifically interested in being able to choose alternately sized instances based on spot price and availability). If you use spot-instances with the ec2 plugin; there's no clear way to retry the build (would love a tutorial or script that accomplishes the steps needed on this. i.e. trapping the signal coming from the OS and turning it into an exception in the pipeline). Overall, it's nice once you get here; but it's a metric ton of work... and there's still a bunch of problems. Really wish there was something easier to maintain and grow with a cloud first approach (i.e. rolling upgrades, object store support, fleet support).

  • job-dsl-gradle-example

    An example Job DSL project that uses Gradle for building and testing.

  • Have a look at https://github.com/sheehan/job-dsl-gradle-example it's a nice example that even allows you to test your job configuration.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts