지속적인 통합 및 지속적 제공/배포(CI/CD)

Nissy Jeong·2024년 4월 17일

DevOps

목록 보기
2/2
*이 글은 개인의 공부에 대한 기록이 목적이며, 상업적으로 이용하지 않습니다.

DevOps 가 무엇인지 어느 정도 알게 되었으니, 이제 어떻게 적용할 수 있는지에 대해 공부해보려 한다.

그 첫번째가 "지속적인 통합 및 배포, 즉 CI/CD" 이다.

지속적인 통합 및 지속적 제공/배포, CI/CD 란 무엇인가?

우선 지속적 통합(CI)과 지속적 배포(CD) 를 나눠서 정의를 살펴보자.

지속적 통합(CI)

문자 그대로 지속적으로 통합한다는 말이다. 코드 및 형상관리 하는 사항들을 지속적으로 그리고 자주 통합하는 것을 의미한다.

지속적 제공/배포(CD)

CD는 두 가지 의미를 갖고있다. 지속적 제공(Continuous Delivery)과 지속적 배포(Continuous Deployment). 지속적 제공은 CI가 기본으로 이루어진 후 빌드와 단위 및 통합 테스트를 자동화한 다음 검증된 코드를 배포 리파지토리로 자동 릴리즈 하고 지속적 배포에서는 자동적으로 배포까지 하는 개념이다.
엄밀히 들어가면 두 가지가 다른 의미이고 지속적 배포가 더 넓은 의미이지만 기본적으로 CI가 구축되어 있어야 한다는 것은 동일하다.

CI/CD 는 왜 중요할까?

앞서 공부했던 DevOps의 이점을 복기해보면 빠르게 적용한다는 것은 DevOps에서 중요한 가치이다. 그리고 빠르게 적용한다는 것은 우리가 위에서 살펴본 CI/CD의 주요한 개념의 일부이다. 그렇기에 DevOps에서 CI/CD는 필수적이고 중요한 요소이다.

CI/CD 를 어떻게 적용할 수 있을까?

사실 지금 회사에서도 내가 구축한 것은 아니지만 CI/CD 환경이 구축되어 있다. Github, Jenkins, OKD 를 사용하여 CI/CD를 적용했다. 이렇듯 CI/CD는 툴을 이용하여 적용할 수 있는데, 직접 해보지 않는 이상 개념적으로만 알고있을 뿐이다.
DevOps 관련된 개념들을 조금 더 공부한 뒤에 직접 구현해볼 예정이다. 다음으로 공부해 볼 것은 쿠버네티스, 도커 등이 될 것 같다.

참고
https://www.redhat.com/ko/topics/devops/what-is-ci-cd
https://unity.com/kr/solutions/what-ci-cd
https://www.jetbrains.com/ko-kr/teamcity/ci-cd-guide/continuous-integration/

profile
많은 문제들을 소프트웨어로 해결하는 개발을 꿈꾼다.

0개의 댓글