CS

Devops와 CI/CD

뽀글보리 2021. 8. 5. 19:21
반응형

Devops란?

Devops란 Dev + Ops의 합성어로 개발과 운영을 합친 단어이다. 개발팀에서는 기능에 대한 코드를 개발하게 되고, 운영팀에서는 배포하여 환경에서 모니터를 하는 일을 한다. 그러나 새로운 배포의 횟수가 많아지면서 개발팀과 운영 팀간의 장벽을 허물고 협력할 필요성이 있음 ⇒ CALMS 모델

CALMS Model

  • Culture : 애자일 방법론을 수용, 변화에 개방적이고 지속적 개선을 도모한다. 소프트웨어 개발 전 과정의 품질을 책임지는 문화가 필요하다.
  • Automation : 업무를 자동화 해야한다.
  • Lean : 소프트웨어 개발 흐름이 매꾸러워야 한다. 핵심 단계 사이의 이동은 빨라야 한다.
  • Metrics : 측정할 수 있어야 한다. 지속적인 측정과 피드백을 추구한다.
  • Sharing : 조직 전반에 걸쳐 지식을 공유해야 한다.

CI/CD란?

  • CI(Continuous Integration) 다수의 개발자가 작성/수정한 소스코드를 지속적으로 통합/테스트 하는 것
  • CD(Continuous Delivery/Deployment) 개발/통합/배포/릴리즈/테스트를 자동화하여 지속적으로 배포하는 것
  • 전통적인 방법과의 차이

정통적인 방식과의 차이 비교
각 단계별 사용 도구 및 프레임워크의 종류들..

단위테스트란 무엇일까?

  • 단위 테스트(Unit Test)는 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트이다.
  • '모듈'이란 애플리케이션에서 작동하는 하나의 기능 또는 메소드이다.
  • 즉, 애플리케이션을 구성하는 어떠한 기능이 올바르게 동작하는 지를 테스트하는 것이다.

단위 테스트는 왜 작성해야 할까?

  • 통합 테스트를 위해서는 모든 컴포넌트를 실제 연결해야하고 테스트 시간이 길어진다.
  • 반면에 단위테스트는 해당 부분만 독립적으로 테스트하기에 빠르게 문제 여부를 확인할 수 있다.
  • 이는 TDD에 용이하다, 코드를 수시로 빠르게 돌리며 문제를 파악할 수 있다.
반응형

'CS' 카테고리의 다른 글

함수형 프로그래밍  (0) 2021.08.27
[Spring] ControllerAdvice가 어떻게 작동할까?  (0) 2021.08.22
[Spring] AOP란 무엇일까?  (0) 2021.08.21
[JAVA] 예외 처리 종류  (0) 2021.08.16
[기술면접] 데이터베이스 트랜잭션  (0) 2021.07.16