CI/CD 파이프라인 · 아티팩트와 승격 · 퀴즈
퀴즈: 아티팩트와 승격
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
환경마다 다시 빌드하는 파이프라인의 근본 문제는?
- 환경 수만큼 빌드 시간이 길어진다
- 테스트한 아티팩트와 배포한 아티팩트가 다른 물건이 된다
- 이미지가 쌓여 저장 공간을 많이 쓴다
- 환경별 브랜치가 늘어난다
승격 모델에서 '배포' 는 무엇인가?
- 이미 검증된 아티팩트를 가리키는 참조(태그)를 바꾸는 일
- 새로 빌드해 푸시하는 일
- 서버에 접속해 파일을 교체하는 일
- 브랜치를 병합하는 일
이미지 안에 `application-prod.yml` 을 굽는 것이 문제인 이유는?
- 설정 파일만큼 이미지가 커진다
- 그 이미지가 prod 전용이 되어 하나의 아티팩트를 여러 환경에 쓸 수 없다
- 설정 값이 이미지에 노출돼 보안 취약점이 생긴다
- 복사 단계가 늘어 빌드가 느려진다
prod 배포에서 태그 대신 다이제스트(`@sha256:...`)를 쓰는 이유는?
- 배포 명령 문자열이 더 짧아져서
- 레지스트리가 다이제스트를 요구해서
- 태그는 다른 이미지로 옮겨질 수 있지만 다이제스트는 불변이라서
- 다이제스트를 쓰면 캐시가 잘 돼서
게이트 스크립트에서 흔히 발생하는 치명적 버그는?
- 게이트 로그가 지나치게 많다
- 게이트 실행 시간이 너무 길다
- 게이트가 필요한 환경변수를 읽지 못한다
- 실패를 출력하지만 종료코드 0 을 반환해 파이프라인이 그냥 통과한다
이전 버전으로 롤백할 수 없게 되는 흔한 원인은?
- 배포 코드의 git 히스토리를 정리함
- 기능 브랜치를 기본 브랜치에 병합함
- 레지스트리 보존 정책이 짧아 이전 아티팩트가 이미 지워짐
- 설정 파일 변경