CI/CD(지속적 통합·지속적 전달)란?

개발자의 변경을 자주 공유 브랜치에 통합하고 그때마다 빌드와 자동 테스트를 수행하는 지속적 통합(CI)과, 테스트한 변경을 언제든 운영 환경에 공개할 수 있는 상태로 유지하는 지속적 전달(CD)을 합친 명칭. 공개까지 자동으로 수행하는 경우는 지속적 배포라고 부른다.

일본어 명칭: CI/CD(継続的インテグレーション・継続的デリバリー)

CI/CD(지속적 통합·지속적 전달)은(는) 클라우드와 컨테이너의 기초 등 1개 분야의 연습 문제 1개에 나와요.

분야: 소프트웨어 개발과 프로젝트 관리

도전해 보기: CI/CD(지속적 통합·지속적 전달) 관련 문제

CI/CD 파이프라인에서 만든 컨테이너 이미지를 스테이징 환경에서 시험하여 합격했다. 이 이미지를 운영 환경에 내보내는 방법으로 가장 적절한 것은?

  1. A운영용으로 같은 소스 코드에서 이미지를 한 번 더 빌드하고, 그것을 운영 환경에 내보낸다
  2. B시험한 이미지에 latest 태그를 다시 붙이고, 운영 환경에서는 latest를 지정하여 가져온다
  3. C시험한 이미지 그 자체를 다이제스트로 지정하여 운영 환경에 내보내고, 환경별 차이는 설정으로 부여한다
정답과 해설 보기

정답: C. 시험한 이미지 그 자체를 다이제스트로 지정하여 운영 환경에 내보내고, 환경별 차이는 설정으로 부여한다

파이프라인에서는 빌드로 만든 산출물(여기서는 이미지)을 변경하지 않는 것으로 취급하여, 같은 것을 스테이징에서 운영으로 차례로 진행시킵니다. 같은 소스 코드라도 다시 빌드하면 의존하는 라이브러리나 베이스 이미지의 버전이 바뀔 수 있어, 시험한 것과 다른 것이 운영에 나가 버립니다. 태그는 나중에 다른 이미지에 옮겨 붙일 수 있으므로, 확실하게 같은 이미지를 가리키려면 내용으로 정해지는 다이제스트를 사용합니다. 접속 대상 같은 환경별 차이는 이미지에 넣지 않고 환경 변수 등의 설정으로 부여합니다.

CI/CD(지속적 통합·지속적 전달)이(가) 나오는 문제 (1)

  1. CI/CD 파이프라인에서 만든 컨테이너 이미지를 스테이징 환경에서 시험하여 합격했다. 이 이미지를 운영 환경에 내보내는 방법으로 가장 적절한 것은?

관련 용어

컨테이너 이미지(Container Image) 환경 변수(Environment Variable) 경계값 분석(Boundary Value Analysis) 동치 분할(Equivalence Partitioning) 분기 커버리지(Branch Coverage) 블랙박스 테스트(Black-box Testing) 스크럼(Scrum) 애자일 개발(Agile Development) 임계 경로법(CPM) 테스트 주도 개발(TDD)

용어집으로 돌아가기