- 도커를 이용한 CI 파이프라인에서 먼저 애플리케이션을 컨테이너에서 빌드하고 실행하는 방법을 배웠다.
- 도커를 사용하면 애플리케이션 빌드 프로세스의 최상위 레이어가 항상 동일해진다.
- 이렇게 최상위 레이어가 항상 동일하다는 점을 이용하면 CI 파이프라인에 다양하고 유용한 기능을 추가할 수 있다.
- 그림 11-14는 알려진 취약점을 탐지하는 보안 검사 및 이미지에 디지털 서명을 넣는 컨테이너가 추가된 CI 파이프라인을 보여 준다.
- 도커에서는 이런 CI 파이프라인을 안전 소프트웨어 공급 체인(secure software supply chain)이라고 부르는데, 이는 기업 규모와 상관없이 배포할 소프트웨어의 안전성을 담보 한다는 점에서 매우 중요하다.
- CI 파이프라인에서 취약점 탐색 도구를 실행하고 취약점이 발견되면 빌드가 실패한다.
- 그리고 운영 환경에서 CI 파이프라인을 무사히 통과했을 때만 추가되는 디지털 서명이 있는 이미지로만 컨테이너를 실행하게끔 설정할 수도 있다.
- 결과적으로 운영 환경에서는 모든 테스트를 통과한 소프트웨어만 실행될 것이고 보안 문제에서 자유로워질 수 있다.
- CI 파이프라인에 추가된 모든 검증 단계는 컨테이너와 이미지를 대상으로 하므로 전체 애플리케이션 플랫폼에도 그대로 유효하다.
- 여러 기술이 적용된 프로젝트라도 기반 이미지와 Dockerfile 스크립트의 내용만 달라질 뿐이며 CI 파이프라인은 변경하지 않아도 된다.