What CI is, and where Jenkins fits

The problem continuous integration solves.

Beginner12 min · lesson 1 of 15

Continuous integration is a simple discipline with an outsized payoff: every time someone pushes code, an automated system builds it, runs the tests, and reports back — so a broken change is caught in minutes, on a shared server, instead of days later on someone else’s machine. Before CI, "it compiles for me" was a defence; with CI, the pipeline is the single source of truth for whether the code is healthy.

Jenkins is the veteran automation server that runs those pipelines. It watches your repository, and on each change it executes a series of steps you define — compile, test, package, and (with continuous delivery) deploy. It is open-source, self-hosted, and enormously extensible through plugins, which is both its superpower and, as later lessons show, its main risk.

What a CI pipeline does on every push
1push
a commit lands
2build
compile / package
3test
unit + integration
4report
green or red, fast
CI is the loop; CD extends it with deploy. Jenkins is one engine that runs the loop — GitLab CI and GitHub Actions are others.

CI vs CD

The terms travel together but mean different things. Continuous integration stops at a verified, tested build. Continuous delivery adds the automation to release that build to production at the push of a button, and continuous deployment goes further, releasing every green build automatically. This course is about CI — the build/test foundation — with the delivery half introduced where it matters.

Jenkins is powerful and easy to misconfigure
Jenkins ships as a blank, trusting canvas — it will happily run builds as an admin, install any plugin, and expose an unauthenticated setup screen. Almost every Jenkins security incident traces to defaults left unchanged. Treat it as production infrastructure from the first boot, not a toy to harden later.