Devin.KR

CI 테스트와 이미지 빌드 자동화

검증이 통과한 변경만 이미지와 릴리스 명세로 남깁니다.

진도 0%

레슨

  1. 테스트를 배포의 문으로 사용하기

    실패가 후속 단계를 차단하는 흐름을 만듭니다.

  2. CI 결과 요약

    통과·실패·건너뜀을 서로 다르게 집계합니다.

  3. CI 작업과 산출물

    검증·빌드·산출물 전달을 의존 순서로 묶습니다.

  4. 산출물 무결성과 출처

    변경 ID·digest·테스트 결과를 묶습니다.

CI 테스트와 이미지 빌드 자동화 미션

앞 모듈의 산출물을 이어받습니다. 검증이 통과한 변경만 이미지와 릴리스 명세로 남깁니다.

요구사항

  • m03 이미지 빌드를 테스트 이후에 연결하고 변경 ID·digest·테스트 요약을 산출물로 저장합니다.
  • GitHub Actions 정의와 계정 없이 실행하는 로컬 CI 경로를 같은 스크립트로 구성합니다.

완료 기준

  • 성공 fixture에서 테스트→이미지 빌드→명세 생성 순서가 확인됩니다.
  • 실패 fixture와 테스트 0건 fixture에서 빌드·배포 단계가 실행되지 않습니다.
  • 명세 변조 fixture를 체크섬 검사에서 거부합니다.
  • python3 -B check-fixtures.py는 성공·실패·오류·0건·전체 건너뜀과 명세 변조를 검사합니다. 실제 이미지 검사는 CHANGE_ID를 지정한 bash check.sh로 별도 수행하며 external 대기입니다.
  • m03 solution의 소스·환경·Dockerfile·wrapper를 유지하고 artifacts/release.json·test-summary.json·notice-image.tar·checksums.json을 전달합니다.
bash check.sh
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 명령 기록과 관측 증거로 변경 이유를 설명합니다.
  • 다른 학습자가 README로 실행·실패 재현·검증을 따라갈 수 있습니다.