Software engineeringLesson 4 of 4 in the course Testing and maintenance

Continuous Integration: Practices, History, and Pipeline Security

5 flashcards · 5 quiz questions · 5 match pairs · 5 fill-in sentences · English

Lesson progress
0 / 5

Your progress is kept in this browser only.Sign up to save it

Summary

Continuous integration (CI) is a software development practice that brings code changes together frequently and checks that the combined code still works. This lesson introduces the basic CI cycle and traces how the practice developed.

Continuous integration is the practice of integrating source code changes frequently and verifying that the resulting codebase remains in a workable state. Developers commonly merge their changes into a shared integration branch. An automated system then builds and tests the combined software.

All flashcards

Atomic commit
A version-control commit that records related changes as one logical unit.
Integration hell
The effort of reconciling many accumulated changes after branches drift apart.
Feature toggle
A mechanism that keeps an incomplete feature disabled in an integration build.
Continuous delivery
Keeping software on the integration branch ready for deployment to users.
Continuous deployment
Automating the deployment of software, often directly to production.

Quiz questions

  1. What distinguishes continuous integration from simply storing code in a shared repository?Answer: Frequent integration is paired with checks of the combined code.
  2. How can a team keep an unfinished feature out of an integration build?Answer: Use a feature toggle to keep the feature disabled.
  3. Why should a bug fix include a test that reproduces the bug?Answer: It helps detect a regression if the defect returns.
  4. What does continuous deployment add beyond continuous delivery?Answer: It automates deployment itself, often to production.
  5. What does least privilege mean for a CI/CD pipeline?Answer: Granting each user or system only the access needed for its work.

Based on the Wikipedia article Continuous integration, licensed CC BY-SA 4.0. Adapted into a summary, flashcards and quizzes.

All Software engineering lessons