인텔리제이 Ultimate 라이센스가 있어서, 프론트엔드 작업(React)과 백엔드 작업(Spring)모두 인텔리제이에서 작업하는데요. 노드 버전을 이것저것 설치하면서 들었던 생각이 '개발환경도 컨테이너로 띄워서 하면 안되나?' 였습니다. 이 섹션을 통해 그 갈증을 해소한 것 같아요.
누구보다 빠르게 배우는 Nginx + Docker + Springboot 서버 무중단 배포
노션 강의자료에서는 # 2. 앱 JAR 파일 복사 COPY *.jar app.jar 이렇게 되어 있는데 강의 영상에서는 COPY build/libs/*.jar app.jar 로 되어 있습니다. 강의 영상이 맞는거 같고, 아무 생각 없이 노션 자료로 복붙하다가 안되서, 둘을 자세히 비교해보니 빌드된 jar 파일 경로를 제대로 명시되지 않은 걸 발견했어요. 노션 파일 수정 부탁드려용
누구보다 빠르게 배우는 Nginx + Docker + Springboot 서버 무중단 배포
안녕하세요 무중단 배포 해보려고 강의 열심히 듣고 있는 수강생입니다. 저는 보통 업데이트 엔드포인트 제공할 때, PUT으로만 구현합니다. PATCH를 제공하면, 받아야할 값들이 null인지 아닌지를 다 따지느라 번거롭더라고요. 지식공유자께서는 실무에서도 PUT 보다는 PATCH를 더 많이 사용하시는지 궁금하네요.
강좌에서 무중단 배워서 잘 실습했습니다.. ncp나..ec2도 같은 원리일까요? 기존에는 톰캣에서 배포해봤지만.. (war파일 묶어서..) Blue-Green, Rolling Update이것을 좀 깊게 학습하고싶은데 추천해주실만한 학습자료가 있을까요? 또 만약에 리액트나 별도의 프론트를 추가할경우? 서버 3개가 아니라.. 4개가 되는지 궁금합니다.
msa 프로젝트 중 각 마이크로 서비스의 이미지를 pull 하는 곳에서 문제가 생깁니다. err: ERROR: for seat-service Head " https://139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/v2/seat-service/manifests/1.0 ": no basic auth credentials 이렇게 에러가 나오게 되네요... IAM 사용자 생성했고 권한 정책에 AmazonEC2ContainerRegistryFullAccess를 추가해줬습니다. 또한 이 사용자를 EC2에 연결까지 했습니다. 추가적으로 helper 설정을 위해 ./docker 폴더를 만들고 config.json에 "credsStore":"ecr-login"도 추가해주어 강의랑 매우 똑같이 만들었습니다. 이 deploy.yml 은 github action 코드입니다. 7번에서 이 오류가 발생하게 됩니다. ======선을 기준으로 아래는 docker-compose.yml파일입니다. 이 문제를 어떻게 해결해야할까요? 또한 각 마이크로 서비스에 연결된 데이터베이스가 모두 maraiDB라면 이걸 docker-compose.yml로 이미지화 시켜야하는것이 맞을까요? # 6. EC2로 Compose 파일 전송 - name: Copy docker-compose.yml to EC2 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: "docker-compose.yml" target: "/home/ubuntu/movie-project/" strip_components: 0 overwrite: true # 7. EC2에서 Compose 실행 - name: SSH into EC2 and deploy uses: appleboy/ssh-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} script: | cd /home/ubuntu/movie-project sudo docker-compose down sudo docker-compose pull sudo docker-compose up -d ================================================ movie-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/movie-service:1.0 depends_on: - redis book-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/book-service:1.0 depends_on: - kafka payment-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/payment-service:1.0 depends_on: - kafka seat-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/seat-service:1.0 depends_on: - kafka
안녕하세요. 선생님 수강 중인 학생입니다. 다름이 아니라 vagrant 연습 문제를 하고 있는데 선생님과 똑같이 vagrantfile을 구성했는데 apache2가 설치 조차 되지 않는 문제가 있어서 질문드립니다. vagrant@vagrant:~$ sudo systemctl status apache2 Unit apache2.service could not be found.
현재 강의에서는 간단한 instagram-server 프로젝트를 docker에 이미지화 시켜서 이를 ecr에 연결해 이미지를 업로드하고 ec2에서 이미지를 다운받아 실행하고 배포하는 것을 잘 이해했습니다. 하지만 혹시 간단한 프로젝트가 아닌 MSA의 각 서비스들, Kafka, Redis가 모두 모인 프로젝트 일때에는 각 서비스, kafka, redis 모두 이미지로 만들어야하는 것으로 알고 있습니다. 이때 한번에 docker compose 파일을 만들면 될 것 같지만 이를 CI CD의 deploy.yml에 어떻게 연결짓는 것인지가 궁금합니다. 아니면 혹은 cmopose 파일을 github action에 직접 입력해서 수동으로 관리하는 것인가요? 불편하게 그저 각 서비스, redis, kafka를 deploy.yml에 작성해서 일일이 하면 편하긴 하겠지만 이런 경우는 보통 compose 파일을 만드는 것이 훨씬 장점이 있다고 생각합니다. 이 compose 파일을 어떻게 deploy.yml 혹은 EC2에 보내는 것인지 궁금합니다.
챕터 17 nox 테스트 중입니다. 테스트 환경은 윈도우11, 파이썬 3.11버전이고 공유주신 noxfile.py 의 tests 세션을 실행하던 중에 다음 에러가 발생하였습니다. session.install("-e", ".") 실행중에 에러가 난것으로 보이는데 setup.py 나 pyproject.toml 이 없다고 나오는데 공유주신 자료에는 안보여서요. 현재 프로젝트 파일 구조는 my_pytest / mycalc/ my_pytest / tests / my_pytest / noxfile.py my_pytest / requirements-dev.txt 로 되어 있습니다.