ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Continuous integration (CI) and Continuous Delivery (CD)
    DevOps/CICD 2020. 2. 24. 00:43

    1. Overview

    1.1 What is CI

    Continuous integration (CI) is the practice of merging all developers' working copies to shared mainline several times a day

    1.2 What is CD

    Continuous delivery (CD or CDE) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

    2. Description

    2.1 CI/CD workflow

    1. Maintain a code repository
    2. Automate your build
    3. Make your build self-testing
    4. Daily commits to the baseline by everyone on the team
    5. Every commit (to the baseline) should be built
    6. Keep your builds fast
    7. Clone the production environment and test there
    8. Make it easy to get the latest deliverables
    9. Everyone on the team can see the results of your latest build
    10. Automate build deployment

    2.2 Pros of CI/CD

    • Reduces overhead across the development and deployment process
    • Reduces the time and effort for integrations of different code changes
    • Enables a quick feedback mechanism on every change
    • Allows earlier detection and prevention of defects
    • Helps collaboration between team members so recent code is always shared
    • Reduces manual testing effort
    • Building features more incrementally save time on the debugging side so you can focus on adding features
    • The first step into fully automating the whole release process
    • Prevents divergence in different branches as they are integrated regularly
    • If you have a long-running feature you're working on, you can continuously integrate but hold back the release with feature flags.

    3. Reference

    https://en.wikipedia.org/wiki/Continuous_integration

    https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html

    https://en.wikipedia.org/wiki/Continuous_delivery

    https://codeship.com/continuous-integration-essentials

    댓글

Designed by Tistory.