Continuous integration and delivery

Integrating and delivering continuously: a build and tests on every push, fast feedback, a main branch that is always releasable, pipeline stages, the artifact, and the difference between continuous delivery and continuous deployment.

  • 27 cards
  • 5 topics
  • Free

The outline, topic by topic

Each topic is weighted the way the exam weighs it.

  1. Concepts
  2. Questions
  3. Sort and link
  4. Scenarios
  5. Understand

A few cards from the deck

  • Continuous integration: what is it?

    Show the answer

    The practice of merging one's work into the main branch very often, each push automatically triggering the build and the tests.

    Conflicts and regressions are found minutes after the change, while the author still remembers what they did.

  • A developer pushes a commit to the main branch. What does continuous integration trigger?

    • The build and the tests, with no human action
    • A mandatory code review by another member of the team
    • A release to production after the project manager has approved
    • A full backup copy of the repository on another remote server
    Show the answer

    The build and the tests, with no human action

    Continuous integration automates feedback: on every push, a server builds and tests. Review and release are other practices.

  • If the main branch turns red, the team's priority is to … it before merging anything else.

    Show the answer

    If the main branch turns red, the team's priority is to fix it before merging anything else.

    Merging onto red piles changes on a broken base: nobody knows which change caused which failure.

  • Continuous delivery: what is it?

    Show the answer

    The practice of keeping the main branch always ready to go to production, the release itself remaining a human decision, one click away.

    The team picks the moment, but releasing is neither risky nor long: the pipeline has already prepared and checked everything.

  • The main branch has been red for two days and everyone keeps pushing to it. What is the cause of the drift?

    • The integration server is too slow to run all the tests
    • The team pushes to the main branch far too often
    • Nobody sees a failure as urgent: red has become normal
    • The unit tests should be removed to free up the whole pipeline
    Show the answer

    Nobody sees a failure as urgent: red has become normal

    A red pipeline that no longer worries anyone loses its purpose: a new failure goes unnoticed among the old ones. Push frequency is the principle of the practice, not its flaw.