Testing, CI/CD

Curated By

Avatar of donamath

CI/CD is a method to frequently deliver apps to customers by introducing automation ♾️ into the stages of app development. The main concepts attributed to CI/CD are continuous integration, continuous delivery, and continuous deployment. CI/CD is a solution to the problems integrating new code can cause for development and operations teams (AKA “integration hell”).

Specifically, CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration 🧰 and testing phases to delivery and deployment. Taken together, these connected practices are often referred to as a “CI/CD pipeline” and are supported by development and operations teams working together in an agile way with either a DevOps or Site reliability engineering (SRE) approach.

Prerequisites πŸ’Ž

CI/CD has no prerequisites, but successful implementation often requires a good deal of consideration. Deciding exactly how to use the tools and what changes you might need in your environments or processes can be challenging without extensive trial and error.

However, while all implementations will be different, adhering to best practices can help you avoid common problems and attain improvements faster.

Topics to learn ✨

  • Identify and Categorize Tests
  • Automate as Many Tests Possible
  • Run Multiple Tests in Parallel
  • Start with Simple Tests
  • Prefer Clean Testing Environment
  • Version Control πŸ’‘
  • Single-click Code Migration
  • CI/CD Pipeline is Key
  • Isolate and Secure CI/CD Environment
  • Central Code Repository
  • Continuous Learning
  • One-way Mechanism
  • Continuous Feedback
  • Transparency
  • Right Tooling

RESOURCES TO LEARN 🌟

Documentation πŸ“œ

YouTube Tutorials

Online Courses β›³

Blogs πŸ“

Tutorials

Apps βš™οΈ