ㅋㅋㅋㅋ 우리 프로젝트에서 사이드로 따로 처리를 해줬다. aws가 너무 비싸서.. 오늘은 지금까지 4개월 정도 달려온 프로그램의 마지막 최종 발표날이다. 수료식은 내일이긴 하지만, 튜터님이 팀 면접으로 질문들을 주셨다. 프로젝트에 대한 간단한 소개와 함께 1)본인의 역할, 2)최초 프로젝트 목표와 목표 대비 달성 수준 그리고 3)이 프로젝트를 통해 배우고 느낀점에 대해 말씀해주세요. Spring MVC가 아닌 WebFlux를 선택한 이유에 대해 말씀해주세요. 3 레이어드 아키텍쳐에 퍼사드 레이어를 추가하셨는데 해당 구조에 대해 설명해주세요. Spring 프로젝트에서 리팩터링을 진행하면서 기존의 기능이나 코드가 의도치 않게 변경되었거나 문제를 일으킨 경우가 있었나요? 이런 문제를 어떻게 발견하고 해결하셨는..
저번 TIL에선 CI/CD 트러블 슈팅에 대해 말했고, 오늘 TIL은 내가 최종적으로 짠 코드이다.name: Java CI/CD with Gradleon: push: branches: [ "dev" ]# 환경 변수 설정env: ECR_REPOSITORY_NAME: my-java-app-repo # Docker 이미지를 저장할 ECR 리포지토리 이름 ECS_CLUSTER_NAME: MyEchoCluster # ECS 클러스터 이름 ECS_SERVICE_NAME: EchoService # ECS 서비스 이름 AWS_REGION: ap-northeast-2 # AWS 리전jobs: build: runs-on: ubuntu-latest steps: - name: Che..
전 TIL 시행착오를 겪고 생각했다. 팀원의 의견도 받아서 CI/CD를 굳이 나눌 필요가 없다는거다. 나는 무작정 다른사람들도 다 CI CD 이렇게 나눠서 작업을 해서 나눠야 되는줄 알았다. 하지만 그렇지 않았다.두개를 합치기로 했다. name: Java CI/CD with Gradleon: push: branches: [ "feat/ci-cd" ] pull_request: branches: [ "feat/ci-cd" ]env: ECR_REPOSITORY_NAME: my-java-app-repo ECS_CLUSTER_NAME: MyEchoCluster ECS_SERVICE_NAME: EchoBackService AWS_REGION: ap-northeast-2jobs: build: ..
자 CI/CD를 한번 구현해 보자. 이거에 대한 트러블 슈팅도 엄청 많다. 물론 내가 처음 해봐서 무지성으로 한 것도 있지만이 트러블 슈팅과 이 과정을 통해 다음번에 CI/CD를 구현할 때는, 깃허브 액션에서만큼은 조금 더 헤매지 않고 보다 더 빠른 시간 안에 구현할 수 있지 않을까 생각해 본다. [Setup] GitHub Actions 기반 CI/CD 파이프라인 구성GitHub Actions를 통해 CI/CD 파이프라인을 구성하여 애플리케이션을 자동으로 빌드, 테스트, 배포 보안을 위해 AWS Certificate Manager로 SSL 인증서를 관리하고, 컨테이너화된 애플리케이션은 ECS를 통해 배포하며, Docker 이미지는 ECR에 저장 GitHub Actions 워크플로우 파일 작성 Dock..
백엔드는 aws로 배포했고.. 프런트는 뭐로 배포할지 고민을 하다가 vercel로 배포로 하기로 했다.vercel을 처음 들어봤지만, 매우 간단하다고 해서 해보기로 했다.[Setup] Vercel 기반 프런트엔드 배포 및 환경 설정 #72Vercel을 통해 프런트엔드를 배포하고, 환경 변수를 설정하여 배포된 애플리케이션이 백엔드와 올바르게 통신하도록 구성Vercel 프로젝트 생성 및 GitHub 레포지토리 연동Vercel 환경 변수 설정배포 후 기본 URL 설정CORS 정책 설정 이렇게 이슈를 작성했다. vercel에서 프로젝트 생성 및 깃허브 레포지토리와 연동하려고 하는데,결제를 해야 한다!? ... 결제 하라 해서 일단 유료인데 무료인 버전을 썼다. 무슨 느낌인지 아시죠?pro인데 아닌, 30일 쓸 ..
자 서비스 생성까지 했고, 그다음 AWS Certificate Manager에서 SSL 인증서 발급을 해보자 그다음 ELB 생성 및 SSL 인증서 적용하면 된다.ELB 생성 후, 리스너 및 규칙까지 적용해 줬다. 그다음 도메인과 로드 밸런서 연결 후 애플리케이션 초기 배포 및 테스트하면 된다.짠, 한 번에 됐을까? 당연히 안됐다.일단 로드 밸런서에서 설정 이슈가 있었다. 그래서 헬스 체크하는 라이브러리를 사용했다.그리고 ECS 배포 시 RDS 연결 이슈가 있었다. 나는 Fargate를 썼다. ECS에서 Fargate로 배포 시도 시애플리케이션이 실행이 안 되는 이슈가 있었다. DB가 연결할 수 없다는 로그가 떠서, 인바운드 규칙 생성 후env 파일 수정 후 재 실행해 줬다.내가 맡았지만, 나 혼자는..