일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 초보
- 개발
- 곧아빠됨
- 게시판
- ChatGPT
- 스케쳐스아치핏
- asp.net core
- JWT 토큰
- 터미널옵션
- TS70016
- @types
- 패키지관리자
- 아들에게
- locofy.ai
- ts7016
- 개발언어
- typesinstall
- 웹퍼블리셔전망
- 웹퍼블리셔종말
- 마이너스의 의미
- .netcore
- c#
- pnpm
- 하마모양
- nodejs
- 메일수신거부 프로세스
- 메일수신거부처리
- json pretty
- classNames
- JWT 토큰 인증 로그인 쿠키 설정
- Today
- Total
I am maker
액티브엑스 저리가라할, aws codepiepline, beanstalk docker 본문
여기까지의 흐름 언젠가는 글을 써야하겠지만,
Prisma를 쓴 node backend 프로젝트에서
beanstalk을 통해 배포를 하려고하니
node 버전 때문에 불가능했습니다.
그래서 docker를 통해 배포하기로 했고
beanstalk에 docker를 통해 단일 docker로 배포하려고했습니다.
그런데, beanstalk deploy에서 300초를 초과하면 실패하는 문제가 있었고,
아래와 같은 에러가 발생했습니다.
An error occurred during execution of command [app-deploy] - [Docker Specific Build Application]. Stop running the command. Error: failed to build docker image: Command /bin/sh -c docker build -t aws_beanstalk/staging-app /var/app/staging/ failed with error Command timed out after 300 seconds
node 패키지를 설치하는 pnpm install에서 시간이 오래걸려서 에러가 발생하고있었고, 찾다보니 아래 글을 발견.
https://github.com/aws/elastic-beanstalk-roadmap/issues/189
Amazon Linux2부터 발생한 문제였고, 추후 로드맵에도 수정 안해준다네요.
용량이 적은 프로젝트는 프로젝트에 Dockerfile만 있으면 됐는데....
규모가 좀 커지니 이런 문제가 발생했습니다.
안쓰는 모듈을 정리하고, pnpm install --prod 로 dev dependency를 제외했는데도, 동일한 문제가 발생했습니다.
그래서 결국 단일 Dockerfile만 둔 beanstalk 구성은 실패했고, ECR, ECS 등
도커 이미지를 빌드를 별도로 다른 곳에서 하고, beanstalk에서는 그 이미지를 가져와 실행하는 방식으로
진행하려고 했습니다.
이해를 위해서 google 검색을 통해, 이미지들을 찾아봤고
제가 원하는 개념의 그림을 찾아서 참고했습니다.
차이점은 멀티 컨테이너가 아니라 단일 컨테이너였는데요
대충 이런 흐름으로 간다 생각하고 더 찾아봤는데 좋은 한글 자료가 있었습니다.
https://trend21c.tistory.com/2206
이 분의 글을 참고하여, 차근차근 따라했습니다.
따라하다보니 권한을 계속 추가해야하더라구요.
중간에 마치 실패를 경험하게 해서 긴장감 있는 글이었습니다.
아무튼 여차저차 다 따라하고
9부능선을 넘었다고 생각했습니다.
하지만... Prisma라는 node orm 라이브러리를 사용하는데
codebuild에서 이런 에러가 발생했네요.
Prisma AWS docker Elastic Container Registry(ECR) Error: Prisma only supports Linux Alpine on the amd64 (x86_64) system architecture. If you're running Prisma on Docker, please use Docker Buildx to simulate the amd64 architecture on your device as explained by this comment: https://github.com/prisma/prisma/issues/8478#issuecomment-1355209706
prisma에서는 LInux Alpine amd64(x86_64) 에서만 작동한다고합니다.
만약 도커에서 Prisma를 돌리려고하면, DOcker Buildx를 써서 하라네요.
적혀있는데로 코멘트에 가서 보기 시작했습니다.
딱히 디렉션이있는건 아니었고, 여러가지 방법이 있는것들중
반응이 좋은 이글!
4.10.0으로 올리면 되나봅니다.
제가 설치했던 시절 버전이 4.9.0이었는데.. 어느새 많이 올랐네요.
4.14.0으로 프리스마 버전을 올려줬습니다.
"@prisma/client": "4.14.0",
"prisma": "4.14.0",
버전 업으로 성공!
'웹' 카테고리의 다른 글
ESLint: Promise executor functions should not be async.(no-async-promise-executor) (0) | 2023.02.22 |
---|---|
Pretendard font 500, 900 이 뭐야? 설치하라는데 없어 (0) | 2023.02.16 |
웹 퍼블리셔의 종말 (2) | 2023.02.15 |
prisma expressjs nodejs exceljs 파일 다운로드 기능 구현 with chat gpt (2). gpt chat에게 속았다. (0) | 2023.02.13 |
개 꿀팁 더 이상 헷갈리지 않는 json을 예쁘게 표시하는방법 javascript (0) | 2023.02.09 |