CodeBuild finally로 실패해도 정리 명령 돌리기
조회 1 · 댓글 0
CodeBuild 빌드에서 어떤 phase의 commands 중 하나가 실패하면 그 phase의 남은 명령은 건너뛰고 빌드가 실패 처리됩니다. 그래서 임시 리소스 정리나 로그 업로드 같은 마무리 작업을 commands 맨 뒤에 넣으면, 앞 명령이 죽는 순간 같이 건너뛰어져 실행이 안 됩니다. 이럴 때 phase 안의 finally 블록을 쓰면 됩니다. finally의 명령은 commands가 끝난 뒤 실행되고, commands에서 실패가 나도 실행됩니다. phase는 commands와 finally가 모두 성공해야 성공으로 처리됩니다.
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
로그인 후 답글을 남길 수 있습니다.