본문 바로가기
IT

배포(Deploy) 란? CI/CD 특징 정리

by seohmoon 2022. 7. 3.

배포(Deploy) 란?

 

 배포 : 로컬 PC에서 만든 프로그램을 서버에 코드를 반영해야 사용자들이 서비스를 직접 이용할 수 있게 된다. 이렇게 서버에 코드를 반영하는 과정이다.

 

 

컴파일, 빌드, 배포 차이

- 컴파일(Compile): 개발자가 작성한 소스코드를 바이너리(컴퓨터가 이해할 수 있는 기계어)로 변환하는 작업
- 빌드(Build): 소스코드 파일을 실행 가능한 소프트웨어 산출물로 만드는 일련의 과정. 빌드 과정을 도와주는 도구를 빌드 툴(Build Tool)이라고 하며, `Ant`, `Maven`, `Gradle` 등이 있다.
- 배포(Deploy): 빌드가 완성된 실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치시키는 일
- 컴파일부터 빌드, 혹은 경우에 따라 배포 과정까지도 `빌드한다` 로 표현하기도 합니다.

 

CI/CD

CI (지속적 통합, Continuous Integration)

  • 빌드/테스트를 자동화 하는 것
  • 개발자가 커밋할 때마다 빌드와 자동 테스트가 이루어져 테스트가 통과된 코드만 공용 레포지토리에 반영됩니다.
  • 커밋할 때마다 빌드, 테스트 과정에 소요되는 시간을 줄여 생산성을 높일 수 있습니다.
  • 테스트가 통과된 코드들이 레포지토리에 반영되기 때문에 코드 품질이 좋아집니다.

CD (지속적 배포 Continuous Deployment 또는 지속적 서비스 제공 Continuous Delivery)

  • CI 과정에서 오류 없이 코드가 통과되었다면, 해당 변경사항이 프로덕션에 자동으로 반영되고 자동으로 배포됩니다.
  • CI/CD 환경이 구축되면 간단한 변경 사항을 하루에도 몇 번씩 배포할 수 있어요!

  • Jenkins, CircleCI, TravisCI, Github Actions 등을 사용합니다.

댓글