Next.js 를 ec2에 배포한 후에
이런 에러가 발생했다.
처음에는 뭐가 문제인가 싶어서 api 콜하는 부분도 다 지워주고 다시 배포해도 똑같았다.
에러 로그를 확인해보니
백엔드 url 관련된 환경변수 값을 제대로 읽지 못하는 것이었다.
그렇다면 이 환경 변수 값을 어떻게 주입해줄수 있을까 ?
build-args: |
MYSQL_HOST=${{ secrets.MYSQL_HOST }}
MYSQL_DATABASE=${{ secrets.MYSQL_DATABASE }}
MYSQL_USER=${{ secrets.MYSQL_USER }}
MYSQL_ROOT_PASSWORD=${{ secrets.MYSQL_ROOT_PASSWORD }}
MYSQL_PORT=${{ secrets.MYSQL_PORT }}
ARG MYSQL_HOST
ARG MYSQL_DATABASE
ARG MYSQL_USER
ARG MYSQL_ROOT_PASSWORD
ARG MYSQL_PORT
ENV MYSQL_HOST=$MYSQL_HOST
ENV MYSQL_DATABASE=$MYSQL_DATABASE
ENV MYSQL_USER=$MYSQL_USER
ENV MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
ENV MYSQL_PORT=$MYSQL_PORT
github actions내에서 빌드시 변수들로 넣어주고,
해당 Dockerfile에서 해당 값을 환경변수로 받아주었다.
근데 지금 이거 말고도 환경변수가 많은데, 이렇게 해주는게 맞나 싶다.
그냥 Dockerfile 자체내에서 env 폴더자체를 인식시켜주면 될것 같긴한데, 일단 해결을 했기때문에 기록해놓는다.
후에 아예 환경변수 폴더 자체를 주입해서 재배포 해보아야겠다.