NKTimes에서 정적이미지로 넣어둔 학교 로고가 정상적으로 렌더링되지 않음 + favicon도 정상적으로 나오지 않음
https://stackoverflow.com/questions/69352108/next-js-build-on-gitlab-does-not-build-image-cache-from-public-folder
.next/cache/images/
는 사실 빌드 과정에서 만들어지는게 아니라 첫 런타임에 캐시되면서 만들어진다....
그런데 기존 deploy.yml
은
- name: build server files
working-directory: ./
run: |
yarn
yarn build
- name: zip file
run: zip -r nktimes-frontend.zip ./.next ./scripts ./appspec.yml ./.env ./package.json
- name: AWS configure credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2
와 같이 구성되어 있었고, 실제로 돌아가는 서버에는 public/
이 전달되지 않아 캐싱 자체가 되지 못했다.
간단하게.... 압축과정에서 public/
을 포함하도록 yml을 수정했다....
로컬에서 빌드시에는 당연히 해당 public/
이 같은 디렉토리에 있었기에 정상 빌드(사실 애초에 빌드는 정상이긴 했다)되는 것처럼 보였고, 서버에서 돌아갈 때만 문제가 생긴다고 생각했다. 그런데 이제 생각해보면 항상 빌드를 한 뒤에 돌리고 .next/
를 확인했던 것 같다. 그렇다보니 문제가 확인이 되지 않았고, 2주가 넘는 시간동안(...) 픽스를 못하고 있었다. 앞으로 테스트 할 때는 최소 조건에서 테스트하는 습관을 들이도록 하자.........