지속적 통합 도구 체인의 모범 사례

지속적 통합(CI) 도구체인 DevSecOps의 구현은 이러한 관행을 따릅니다.

  • 애플리케이션 리포지토리에서 정적 코드 스캐너를 실행하여 애플리케이션 소스 코드의 비밀과 애플리케이션 종속성으로 사용되는 취약한 패키지를 탐지합니다.
  • 추적성을 위해 빌드 번호, 타임스탬프, 커밋 ID를 기반으로 태그를 설정하여 모든 Git 커밋에 컨테이너 이미지를 빌드합니다.
  • 이미지 생성 전에 도커파일을 테스트합니다.
  • 빌드된 이미지를 비공개 이미지 레지스트리에 저장합니다.
  • API 토큰을 사용하여 대상 클러스터 배포에 대한 액세스 권한을 자동으로 구성하고 해지할 수 있습니다.
  • 컨테이너 이미지에서 보안 취약점을 검사합니다.
  • 성공적으로 완료되면 Docker 서명을 추가합니다.
  • 빌드된 이미지 태그를 배포 매니페스트에 자동으로 삽입합니다.
  • 클러스터에서 명시적 네임스페이스를 사용하여 각 배포를 격리합니다(kubectl delete namespace 명령).
  • 대상 Git 리포지토리 브랜치에 병합된 모든 코드를 자동으로 빌드, 검증 및 배포하여 Kubernetes 클러스터에 배포합니다.