큐범
Just do debug
큐범
전체 방문자
오늘
어제
  • 전체보기 (128)
    • 회고 (4)
    • JAVA (16)
      • JAVA 기초 (18)
      • JAVA Algorithm, Datastruct (13)
    • Spring (11)
    • Micro Service Architecture (3)
    • JPA (6)
    • gRPC (4)
    • Network (8)
    • Process (7)
    • Cloud (4)
    • Python (10)
    • Web(vue) (2)
    • UMC (1)
    • DB (9)
    • CS (1)
    • Clean Code (1)
    • TDD (9)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
큐범

Just do debug

CI/CD와 형상관리
Process

CI/CD와 형상관리

2022. 6. 17. 22:28

CI/CD

CI ⇒ Continuous Intrgration (지속적 통합)

CD ⇒ Continous Delivery (지속적 전달)

CD ⇒ Continuous deployment (지속적 배포)

Continuous Intrgration

  • 개발자를 위한 자동화 프로세스인 지속적인 통합을 의미
  • 개발코드를 통합할 때 문제점을 해결하고, 자동화시켜 지속적으로 유지시키는 방법
  • 코드를 커밋만 치면 자동으로 빌드, 통합을 하고, 테스트를 하는 과정을 의미

Continous Delivery / Continuous Deployment

  • 지속적인 서비스 제공 / 지속적인 배포
  • 어플리케이션을 항상 신뢰가능한 수준으로 배포 될 수 있도록 지속적으로 관리
  • CI가 이루어지고 난 후에 우영환경까지 배포를 수행하여, 실제 사용자가 사용할 수 있도록 적용하는 단계

Test Change: Consumer Driven Testing(Contract Test)

  • What: 서비스 제공자와 사용자간 프로토콜, API 스펙, Kind Of Component Test
  • Why: 서비스 제공자가 내 서비스를 사용하는 소비자에 대한 정보 및 규약 유지

 

CICD WorkFlow

 

 

형상관리 - History

형산관리란:

소스의 변화를 끊임없이 추적하고, 버전별로 관리한다.

 

CVS

  • 1980년대에 만들어진 형상관리 툴이지만 파일 관리나 커밋 중 오류시 롤백이 되지 않는 등 불편한 문제점이 있어 이후 SVN으로 대체된다.

SVN

  • 2000년에 CVS를 대체하기 위해 만들어졌음
  • Trunk, Tag, Branch 구조를 사용
  • 중앙 리포지토리 방식
  • 개발자가 본인만의 Version을 가질 수 없는 단점이 존재

GIT

  • 2005년 리누스 토발즈에 의해 시작
  • 매우 빠른 속도와 분산형 저장소 SVN보다 많은 기능을 지원
  • 개발자가 자신만의 Commit History를 가질 수 있다.
  • 저장소 분리로, 복원이 용이하다.

빌드 자동화 툴

  • 빌드 자동화: 자바 소스를 compile하고 package해서 deploy하는 일을 자동화 해주는 것

Apache Ant

  • Another Neat Tool
  • 2000년 출시
  • Base build file : build.xml
  • 장점 유연함(모든 명령을 직접 작성), 단점 규칙이 없기에 유지보수에 어려움

Apache Maven

  • Ant의 불편함을 해소하고자 2004년 출시
  • 규칙을 정하고 Goals라는 사전 정의된 command를 제공한다
  • Base build file: pm.xml

Gradle

  • Ant와 Maven의 장점을 모아 2012년 출시
  • Android OS의 빌드 도구로 채택
  • 프로그래밍 언어 형식으로 유연함이 장점
    'Process' 카테고리의 다른 글
    • 스프린트(About Sprint)
    • Agile의 환경, Product Backlog
    • Design Thinking Process
    • DevOps
    큐범
    큐범

    티스토리툴바