What CI is, and where Jenkins fits
The problem continuous integration solves.
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.
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.