본문 바로가기

CodeBuild finally로 실패해도 정리 명령 돌리기

조회 1 · 댓글 0
매큠작성자2026년 9월 18일

CodeBuild 빌드에서 어떤 phase의 commands 중 하나가 실패하면 그 phase의 남은 명령은 건너뛰고 빌드가 실패 처리됩니다. 그래서 임시 리소스 정리나 로그 업로드 같은 마무리 작업을 commands 맨 뒤에 넣으면, 앞 명령이 죽는 순간 같이 건너뛰어져 실행이 안 됩니다. 이럴 때 phase 안의 finally 블록을 쓰면 됩니다. finally의 명령은 commands가 끝난 뒤 실행되고, commands에서 실패가 나도 실행됩니다. phase는 commandsfinally가 모두 성공해야 성공으로 처리됩니다.

version: 0.2
phases:
  build:
    on-failure: ABORT
    commands:
      - mvn install
    finally:
      - echo cleanup   # 위 명령이 실패해도 실행됩니다

phase 실패 시 동작은 on-failure로 정합니다. ABORT(빌드 중단), CONTINUE(다음 phase 진행), RETRY(기본 3회 재시도) 등이 있고, 지정하지 않으면 기본 phase 전이 규칙을 따릅니다. 주의할 점은 on-failure가 CodeBuild가 제공하는 EC2 compute 이미지에서만 동작하고, Lambda compute나 reserved capacity에서는 지원되지 않는다는 것입니다.

🔗 https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html

로그인 후 답글을 남길 수 있습니다.

CodeBuild finally로 실패해도 정리 명령 돌리기 · 게시판 · 삵 sarc.io