IT 잡동사니

DevOps와 CI/CD란 도대체 무엇인가?!

케키키케 2020. 10. 8. 17:35

DevOps?

개념

DevOps는 소프트웨어 방법론 중 하나이다.

Dev는 Developer, Ops는 Operator를 의미한다.

개발부서와 운영부서가 따로 운영된다면, 각자 지향하는 바가 다르고 문제 발생 시 서로 다른 부서이기 때문에 소통에 어려움이 있다.

이 문제를 보완하고자 한 팀에 개발담당자부터 운영담당자까지 구성한 것이 바로 DevOps이다. 

DevOps는 개발부터 운영까지 한 팀에서 이루어지므로, 원활한 소통이 가능하여 조직의 역량을 향상시킬 수 있다.

그리고 반복적인 일은 CI/CD를 통해 자동화하여 업무의 효율을 높인다.

 

이점

원활한 소통과 업무 자동화로 인해 작업 속도가 향상되므로 시장변화에 신속하게 적응할 수 있다.

CI/CD를 통해 많은 변경사항에도 신속하게 반영할 수 있으며, 안정적이고 좋은 품질을 보장할 수 있다. 

 

CI/CD?

CI(Continuous Integration) 

CI는 코드의 변경을 관리하고 코드->빌드->통합->빌드 과정을 자동화하여 업무의 효율을 높인다. 여러명으로 구성된 팀이 개발/수정한 SW를 지속적으로 통합하는 일을 자동화하여 시간적으로 효율성을 높일 수 있다. 또한, 이 작업을 통해 에러를 조기에 검증하여 단위코드의 품질을 향상시킬 수 있다는 이점이 있다.

CI를 성공적으로 구현한다면, 새로운 변경사항이 정기적으로 빌드 및 테스트되어 공유 레파지토리에 통합되므로, 여러 개발자가 동시에 작업할 때 작업이 충돌하는 문제를 해결할 수 있다.

 

CD(Continuous Delivery)

CD의 목표는 사용자에게 코드의 변경을 자주, 안정적으로 전달하는 것이다. CD는 개발자가 변경사항을 반영한 후, 자동으로 레파지토리에서 고객이 사용 가능한 프로덕션 환경까지 릴리즈하는 것을 의미한다. 

 

Build -> Test -> Merge -> Automatically release to repository -> Automatically deploy to production

[ Continuous Integration ] - [         Continuous Delivery         ] - [       Continuous Deployment      ]

 

 

참고자료

www.redhat.com/ko/topics/devops/what-is-ci-cd

 

CI/CD(지속적 통합/지속적 제공): 개념, 방법, 장점, 구현 과정

CI/CD는 애플리케이션의 통합 및 테스트부터 제공 및 배포까지 전체 라이프사이클에서 지속적인 자동화와 모니터링을 제공합니다. 개념, 차이점, 학습방법(인강)을 보세요.

www.redhat.com

열심히 자료를 찾아 정리해 보았는데, 더 잘 정리된 자료가 있어서 링크 걸어둡니다. 

bcho.tistory.com/1325

 

SRE - #1 SRE/DEVOPS의 개념과 SRE는 무엇을하는가?

Site Reliability Engineering(SRE) #1 SRE/DEVOPS의 개념 조대협 (http://bcho.tistory.com) 배경 Devops는 운영팀과 개발팀을 하나의 팀으로 묶어놓고 전체적인 개발 사이클을 빠르게 하고자 하는 조직 구조이자..

bcho.tistory.com

 

DevOps와 CI/CD를 공부하다보니 Jenkins도 공부해야겠다.

다음 포스트는 Jenkins..예약