인프런 커뮤니티 질문&답변

박진화님의 프로필 이미지

작성한 질문수

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

Travis CI의 AWS 접근을 위한 API key 생성

질문1. AWS 배포시 에러 "Environment health has transitioned from Info to Degraded.

작성

·

1.7K

0

질문1. AWS 배포시 에러 "Environment health has transitioned from Info to Degraded. Command failed on all instances. Incorrect application version found on all instances. Expected version "Sample Application" (deployment 3)" 가 뜨면서 배포 실패가 나네요.
강사님 이 에러 해결책에 도움주시면 매우 감사하겠습니다.

Johny Kim님의(2021.12.21 AM 01:59)글" AWS EB: During an aborted... 빌드 에러 뜨시는 분들" 의 해결책인

 nginx dockerfile 에 EXPOSE 80 추가하니까 되네요.

라는 글은 보고 이미 적용해본 상태인데 제일 위의 에러가 나네요.
깃헙에 올라온거 그대로 하면 몇몇 에러가 있어서 수정하여 적용한 버전의 제 깃헙 퍼블릭 주소입니다.

https://github.com/Clark19/docker-multi-app

 

질문2. 책의 9장 실습시 Travis CI에서 총 3개의 이미지가 도커허브에 빌드되어 올라가야하는데, 도 커허브에 이상하게 frontend 이미지만 제 레지스트리에 업로드 안되있네요
travis ci화면엔 테스트 에러와, 빌드 에러, push 에러 표시가 없는거 같은데 말입니다

이유를 알수있는데 도움주시면 매우 감사하겠습니다.

https://hub.docker.com/  에서 제 아이디(레포?)는 clarkgable1입니다.

이건 도커 허브에 프론트 이미지가 하나 업로드 안된건 질문1의 aws 배포 에러와는 직접 상관없는데요. 이유는 도커허브 이미지 다운받는 방식이 아닌 이전 실습에서도  이미 aws 배포는 동일하게 실패했었기 때문입니다.

 

몇 주전에 '도커와 CI 환경'이라는 책 사고 어제 다보면서 실습하는데 도커리액트 싱글앱도 그렇고 8,9장의 도커 멀티컨테이너 앱도 aws 배포시 1번의 문제가 발생하여 애를 먹고 있습니다. 그래서 도움을 혹시 얻을수 잇을까해서 인프런에 동영상까지 중복으로 구매하였네요.
도움주시면 매우 감사하겠습니다.

답변 1

0

박진화님의 프로필 이미지
박진화
질문자

강사님~,  방금 12월 28일 올린 소스라고 되있는거 보고  아래 처럼 수정하여 AWS에 리액트 뜨는건 확인했습니다. 

하지만 아래와 같은 500 에러가 나네요. 플라스크나 디비가 제대로 네트워크가 연결이 안됐든 설치가 안됐든 했나봅니다. 시간될때 더 확인해보고 댓글이나 게시글 남기겠습니다. 혹시 힌트 있으시면 주셔도 매우 감사할거 같습니다.

POST http://dockermultiapp-env.eba-qurqfhda.ap-northeast-2.elasticbeanstalk.com/api/value 500 (Internal Server Error)

createError.js:16 Uncaught (in promise) Error: Request failed with status code 500
    at e.exports (createError.js:16)
    at e.exports (settle.js:17)
    at XMLHttpRequest.p.onreadystatechange (xhr.js:61)

 

< 리액트 => AWS 배포 성공 변경점 > - 플라스크 배포/네트웍연결이랑 AWS RDS 설정은 저의 확인이 더 필요함.

frontend/Dockerfile.dev 랑 frontend/Dockerfile를 아래 처럼 수정하였습니다.

(변경 전)FROM node:alpine as builder  => (변경 후) FROM node:16-alpine as builder

 

그리고 추가로 frontend/package.json 을 로컬 개발 환경에서 빌드인가 실행시

 permission 에러나서 

--openssl-legacy-provider 넣었습니다. 이거 다시 없앴습니다.

개발 버전에서는 아직  테스트 못해봤는데 또 permission 에러나면  "start": "react-scripts --openssl-legacy-provider start",  이부분 다시 넣어야 할거 같습니다.