알 수 없는 문제
Published at 2025-05-28
TIL
날짜: 2025년 5월 28일
알 수 없는 문제를 만났다.
antd를 사용하는 리액트 백오피스 프로젝트가 있는데, 테이블 컬럼 중 날짜 형식을 바꿔달라는 요청이 있었다.
이미 다른 컬럼에서 같은식으로 날짜 형식을 보여주고 있어서 동일하게 코드를 추가하였다.
아래 코드의 render 부분을 추가했다.
{
dataIndex: 'cashbillNtsResultDate',
title: '발행일자',
align: 'center',
render: (cashbillNtsResultDate: string) =>
cashbillNtsResultDate
? dayjs(cashbillNtsResultDate).format('YYYY-MM-DD HH:mm:ss')
: '-',
},
그 후, 스테이징 환경까지 적용하고 확인 완료되어 prod에 배포하려는데 젠킨스에서 빌드 실패가 떴다.
일시적인 에러인가 싶어 재시도 해도 똑같길래 이것저것 알아봤는데, 정확한 원인을 알 수가 없었다.
의문점은 staging 환경은 문제없이 빌드되었는데 왜 prod에서는 안되냐는것과 이미 다른 컬럼들에도 똑같이 dayjs().format()으로 사용중인데 왜 이번에 추가한 부분만 실패가 뜨냐는 점이다.
테이블의 다른 날짜 컬럼과 다른 부분은 그냥 코드가 길어서 여러줄로 나뉘었다는것 뿐.
그래서 이유는 잘 모르겠지만 다른 컬럼들처럼 한줄로 써봤다.
{
dataIndex: 'cashbillNtsResultDate',
title: '발행일자',
align: 'center',
render: (cashbillNtsResultDate: string) =>
cashbillNtsResultDate ? dayjs(cashbillNtsResultDate).format('YYYY-MM-DD HH:mm:ss') : '-',
},
이렇게 수정하니까 prod 빌드가 되었다.
도저히 원인을 모르겠다ㅠ.ㅠ
- 로컬에서 prod 환경으로 빌드 시도할때는 문제 없었음. (yarn build:prod)
- 운영 환경일때 따로 적용되는 빌드 옵션 없음. (tsconfig.json는 하나만 사용)
- 시간이 지난 후 다시 빌드해봐도 똑같이 스테이징은 성공하고 운영에서만 실패함.
TIL로 올리는게 맞나.. 싶기도 했지만 원인을 찾아보면서 이것저것 잡지식을 얻기도 했고, 나중에 원인을 알아내서 크게 배운점이 생길수도 있으니 기록해둔다.