프로그래머스 데브코스 웹 풀사이클 18주차 - 2

CI 파이프라인
단위 테스트
단위 테스트의 중요성
- 코드의 개발에 있어서는 '잠재적 결함을 일찍 발견할수록' 효율 및 안정성이 높아짐
- 쓰여진 모든 코드는 테스트되어야함
단위 테스트는 개발자의 몫
- 직접 코드를 구현하는 만큼 해당 코드의 어떤 측면을 어떻게 테스트해야 하는지를 잘 이해할 수 있는 다른 사람이란없음
- 이것은 통합 테스트 및 인수 테스트와는 구별되어야 하는 것으로서, 테스트 케이스를 명확히 정의하고 이것을 테스트 케이스로 구현 하는 것은 코드 개발자가 담당해야 한다.
도커 레지스트리

도커 레지스트리란?
- 컨테이너화된 소프트웨어의 산출물인 도커 이미지를 관리
- 클라우드 방식 레지스트리로 Docker Hub와 상용 클라우드에서 제공하는 서비스등이 있음
- 자체 호스트 방식 레지스트리방식 또한 존재
사내 네트워크가 아닌 외부에 소프트웨어를 보관하는 것을 금지하는 정책을 가질 때 사용하는 방식
직접 관리해야 하는 부담이 있고, 접근 제어 및 인증서 설정 등의 번거로운 작업이 수반
데이터 볼륨과 SSL 인증서
호스트의 디렉토리를 레지스트리에 볼륨으로 공유
- 레지스트리에 저장된 데이터는 컨테이너 및 포드 등이 사멸하는 경우에도 유지
- 실제 개발 환경에서는 어딘가 저장 장소를 마련해두고 주기적으로 백업
- PV를 정의하고 PVC를 설정해 레지스트리 서버 컨테이너에서 이용하도록 볼륨 마운트
자가 서명된 인증서 발급 후 레지스트리 서버에 설치
- 실제 운영 환경에서는 CA로부터 발급받은 인증서를 설치하고 주기적으로 갱신하여 공인할 수 있는 인증 이용
접근 제어
- 보통은 login id와 passwd 쌍으로 사용자 인증 => 로그인 하는 사용자에 따른 다른 권한