CI/CD(지속적 통합/지속적 배포)

리리티·2022년 11월 14일
0

CI/CD

CI/CD는 DecOps에 속하며 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법

CI

지속적 통합

규칙

  1. 모든 소스코드가 실행되고있고, 모든 사용자가 소스코드에 접근할 수 있는 단일 지점을 유지할 것

  2. 모든 사용자가 단일 명령을 사용하여 빌드할 수 있도록 빌드 프로세스를 자동화할 것

  3. 단일 명령으로 언제든지 테스트 실행할 수 있도록한다.

  4. 다른 사용자가 현재 실행 파일을 얻었을때 지금까지 중 가장 완전한 실행 파일을 얻었다는 확신을 하게 할 것

CD

지속적 배포

CI와 같이 사용하며 CI과정에서 빌드와 테스트가 완료된 코드를 사용자에게 지속적으로 배포하는 과정

CI/CD 장점

1. 개발 속도 향상

  • CI/CD를 통해 모든 개발 단계가 빨라짐
  • 프로세스 전반에 걸쳐 반복 속도가 빨라져 모든 팀의 효율성이 향상됨

2. 더많은 배포

  • 짧은 시간에 여러번 배포가 가능해진다.

3. 빠른 테스트

  • 자동화된 테스트를 통해 피드백을 더 빨리 받음으로써 개발 중간 단계나, 최악의 경우 최종 릴리즈에서 버그를 찾는 불상사를 줄이고 빠르게 문제를 잡을 수 있다.

4. 버그 감소

  • 개발 전반에 걸쳐 자동화된 테스트를 통해 버그가 발생할ㄹ 때마다 버그를 잡아서 MERGE하지않고 롤백한다.

5. 개발자들의 편의성

  • 많은 시간을 테스트와 코드 디버깅등에 할애하는데 빌드, 테스트, 배포와 같은 과정을 자동화함으로써 개발자는 좀더 핵심적이고 중요한일에 시간을 할애 가능하다.

CI/CD 툴

  1. 젠킨스

  • 오늘날 시장에서 가장 널리 사용되는 CI/CD 도구 중 하나
  • 여러 계열 운영체제용 패키지가 포함된 독립형 JAVA 기반 프로그램
  • 다양한 플로그인을 설치할 수 있어 확장에 용이
  1. TeamCity

  • JetBrains에서 개발한 CI/CD툴
  • 자바기반
  1. GitAction

  • GitHub에서 제공되는 CI/CD
  • GitHub에서 코드를 관리하고 있는 소프트웨어 프로젝트에서 사용할 수 있으며 개인은 무료로 사용 가능

참고

https://about.gitlab.com/topics/ci-cd/

profile
remind

0개의 댓글