I use Jenkins at work and would like a place to write down random learnings about how to run it well … -ish :) … whether they’re hard won by me or from someone else on the interwebs.

Note: There are several very good continuous integration programs out there these days and I find that learning how one of them works is a good starter for reasoning about others. ymmv

  • We create 2 pipelines per project - build, deploy. These are physical files in the project filesystem.
  • Pipelines often have 4 stages - code, build, test, deploy.
    • Code checkouts out from version control.
    • Build runs make or another build script and unit tests and generates a test coverage report.
    • Test deploys a new build to a staging environment and runs a suite of automated e2e tests.
    • Deploy promotes a new build from staging to production.
  • Jenkins automation
    • Casc
      • Env vars
    • JobDsl
  • Having a local develop environment for pipeline and shared library testing is life altering.

Links