CI/CD 툴

dev-jjun·2023년 2월 26일
0

Server

목록 보기
5/33

CI/CD란?

CI(Continuous Integration, 지속적인 통합) = 빌드와 테스트 자동화
CD(Continuous Delivery, 지속적인 전달/배포) = 배포 자동화

  • 빌드 : 코드를 실행할 수 있는 상태로 만드는 일
  • 배포 : 사용자 접근이 가능하도록 배치시키는 일

CD는 CI의 연장선으로, 이 CI 프로세스를 통과한 코드 버전을 마지막에 배포하는 과정이다. 코드 변경 사항이 파이프라인의 이전 단계(CI)를 모두 성공적으로 통과하면 수동 개입 없이 프로덕션에 자동 배포됨으로써 신속하고 능률적으로 사용자에게 새로운 기능을 제공할 수 있다.

  • 스프링부트, Docker 활용 예시

필요성

“Quality at Speed” : 속도와 효율

끊임없이 변화하고 진화되고 있는 개발환경을 고려할 때, 조직의 가장 큰 과제 중 하나인 시장 변화 및 고객 요구에 신속하고 유연하게 대응할 수 있는 개발안이 애자일 문화와 DevOps의 일부로서 구축되었다.

Jenkins

  • Continuous Integration Tools의 일종
  • 무료 오픈소스 자동화 서버
  • 빌드, 배포 자동화를 지원하는 수백개의 플러그인 제공

기능

  1. 빌드 자동화
  2. 테스트 자동화
  3. 코드 표준 준수 여부 검사 (정적 코드 분석)
  4. Build Pipeline 구성 :프로젝트에 2개 이상 모듈이 있을 경우 참조 관계에 따라 순차적 빌드 가능
  5. 다양한 인증 기반과 결합한 인증, 권한 관리 기능
  6. 자동화된 배포 관리

참고자료

[Jenkins] Jenkins 개념부터 설치, 연동까지

Jenkins를 활용한 SpringBoot gradle 빌드&배포

Jenkins에서 EC2로 배포하기

profile
서버 개발자를 꿈꾸며 성장하는 쭌입니다 😽

0개의 댓글