CI/CD

효딩딩·2022년 10월 25일
0

CI 란?

  • CI(Continuous Integration) : CI는 빌드/테스트 자동화 과정을 말하며, 개발자를 위한 자동화 프로세스인 ‘지속적인 통합’을 의미함
  • CI가 성공적으로 구현되면 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합됨
  • 따라서, 이를 통해 여러 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있음
  • 대표적인 Tool: GitDesktop / SourceTree

CD 란?

CD(Coutinuous Delivery) 란 두 가지 의미를 내포
1) Continuous Delivery, 지속적인 제공
2) Continuous Deployment, 지속적인 배포

- 지속적인 제공이란 개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리(예: GitHub 또는 컨테이너 레지스트리)에 자동으로 업로드되는 것을 말한다.

- 지속적인 배포란 개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스하는 것을 의미한다.

대표적인 Tool: Jenkins / Travis ci

출처:
https://blog.naver.com/hty018/222837998708
https://velog.io/@jellyb3ar/CICD-Jenkins-%EC%A0%95%EB%A6%AC
https://velog.io/@combi_jihoon/CICD%EB%9E%80
https://velog.io/@mooh2jj/CICD-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC


(영문 해석)

What is CI?

  • The "CI" in CI/CD always refers to continuous integration, which is an automation process for developers.
  • Successful CI means new code changes to an app are regularly built, tested, and merged to a shared repository.
  • It’s a solution to the problem of having too many branches of an app in development at once that might conflict with each other.

What is CD?

  • The "CD" in CI/CD refers to continuous delivery and/or continuous deployment, which are related concepts that sometimes get used interchangeably.
  • Both are about automating further stages of the pipeline, but they’re sometimes used separately to illustrate just how much automation is happening.

Continuous delivery usually means a developer’s changes to an application are automatically bug tested and uploaded to a repository (like GitHub or a container registry), where they can then be deployed to a live production environment by the operations team. It’s an answer to the problem of poor visibility and communication between dev and business teams. To that end, the purpose of continuous delivery is to ensure that it takes minimal effort to deploy new code.

Continuous deployment (the other possible "CD") can refer to automatically releasing a developer’s changes from the repository to production, where it is usable by customers. It addresses the problem of overloading operations teams with manual processes that slow down app delivery. It builds on the benefits of continuous delivery by automating the next stage in the pipeline.

Source:
https://www.synopsys.com/glossary/what-is-cicd.html
https://www.redhat.com/en/topics/devops/what-is-ci-cd

profile
어제보다 나은 나의 코딩지식

0개의 댓글