What's changed: Initial version
4.2CI/CD and containers
Covers the CI/CD pipeline that delivers code safely (automating build -> test -> deploy), the unit tests that guard changes (Python unittest/pytest), and the Dockerfile (FROM/RUN/COPY/CMD/EXPOSE) plus the image-and-container relationship that makes an app portable—framed as reading/diagnosing "what this pipeline/Dockerfile guarantees, and where it is wrong."
What DevNet asks is not the definition of "what CI/CD is" but whether you can read what the pipeline or Dockerfile in front of you guarantees and where it is flawed. A pipeline that deploys without passing tests mass-produces incidents, a Dockerfile that ignores caching needlessly slows builds, and an image missing CMD will not start. This section covers CI/CD stages, Python unit tests, and each Dockerfile instruction from the viewpoint of reading and diagnosing a presented artifact.
4.2.1The CI/CD pipeline
- CI (continuous integration) integrates developers' changes into a shared branch frequently, running an automated build and test each time to catch breakage early. CD (continuous delivery/deployment) advances an artifact that passed tests all the way to automatic release/production. In short, it makes
build -> test -> deployrepeatable without human hands. - The heart of a pipeline is a gate: do not advance if tests fail. It is correct design that if the
teststage is red,deploydoes not run; a pipeline that skips tests and pushes to production is an automated incident. The earlier and smaller the failure is caught, the cheaper the fix.
Continue reading — free sign-up
You're reading the free preview. Sign up free to read this section in full, plus every chapter (including 4+) and all questions.

