개인 서버 관리에서 쉘 스크립트 자동화 경험 결
개인 프로젝트에서 서버에 배포할 때마다 반복하는 작업을 쉘 스크립트로 만들어보았습니다. git pull, 빌드, 서비스 재시작을 매번 직접 실행하다가 순서를 빠뜨리거나 실수하는 경우가 있었기 때문입니다. 스크립트 첫 버전은 명령어를 그냥 나열했는데, 앞 단계가 실패해도 다음 단계가 실행되는 문제가 있었습니다.
set -e 옵션을 찾아서 적용했더니 중간에 실패하면 멈추는 동작이 되었습니다. 처음에는 왜 계속 오류 상태인데 배포가 완료됐다고 뜨는지 이해하지 못해서 30분쯤 헤맸습니다. 명령어 실패 감지 설정이 자동화 스크립트의 기본이라는 것을 그때 배웠습니다.
실패를 감지하는 설정을 빠뜨리면 자동화가 오히려 오류를 숨기는 역할을 한다는 것을 그때 처음 실감하였습니다.