본문 바로가기

배포4

Git Submodules를 활용한 secret, config 파일 관리, 배포 (feat. SpringBoot, GitHub Actions) 잘못된 내용이나 다른 의견 있다면 편하게 말씀해주세요 🙏🏻 이전 글 secret, config 파일 관리 방법 소개(feat. SpringBoot의 application.*) 에서 소개한 방법 3 : Git Submodules를 활용한 방법 예제를 소개한다. Git Submodules Git Submodules란 저장소 안에 다른 저장소를 원하는 디렉토리를 복제하는 기능이다. 예를 들어 A,B 프로젝트에서 공통되게 사용하는 모듈(라이브러리, 설정 값 등) C가 있다고 하자. A,B,C 모두 저장소이다. 이때 A, B 저장소에 C 소스 코드가 중복될 수 있다. 이를 A,B 저장소에 C를 서브 모듈로 두어 공통되게 사용할 수 있다. C가 수정되면 A,B 모두 수정된 코드를 사용할 수 있다. (생활 코딩 : .. 2022. 7. 2.
secret, config 파일 관리 방법 소개(feat. SpringBoot의 application.*) 잘못된 내용이나 다른 의견 있다면 편하게 말씀해주세요 🙏🏻 들어가며 SpringBoot 프로젝트를 GitHub public repo에서 작업 후 배포한다고 가정하자. SpringBoot의 설정 파일은 application.* 또는 DB 초기 설정을 위한. sql 등이 있다. application.* 파일에는 DB 접속 정보(url, username, password)나 secret key 관리 등 많은 파일이 들어있다. 이를 public repo에 공개하면 문제가 발생할 수 있다. 외부 노출을 막고 배포하는 방법을 알아보자 방법 방법 1 : 로컬 개발 환경에서 application.* 설정 파일 그대로 사용하고 외부 저장소 노출을 막기 위해. gitignore 설정, 배포 시 application.yml.. 2022. 7. 1.
[의사결정, 일일회고] 22.06.15 - "백엔드(Spring) 배포와 아키텍처" 📚 배운 것 백엔드(Spring) 배포 방법 고민 어제는 FE 배포를 하였다. 오늘은 BE를 배포한다. 아직 초기 프로젝트 세팅만 하고 구현 코드는 없지만 CI/CD 자동화 배포를 구축한 뒤 프로젝트 기능이 추가될 때 마다 배포하고 싶어서였다. 제약 사항 - 비용(aws 프리티어) 고민한 배포는 아래와 같다. Case 1 : Docker + Docker hub 도커 이미지를 도커 허브에 올려 사용한다. 이전 프로젝트를 이 방법으로 배포했다. 장점 - 간단하다 - DockerFile만 만들면 끝난다. - Docker 환경이라 배포가 자유롭다. - 이미지 저장소 free 단점 - 무료로 사용하면 배포 이미지가 노출된다. - 단순 EC2 오토 스케일링을 한다면 모든 EC2에 도커가 설치된 뒤 그 위에 올라가.. 2022. 6. 16.
GitHub Actions를 활용해 React를 S3, CloudFront를 사용해 배포하기 이 글은 AWS의 S3, CloudFront를 사용해 리액트 프로젝트를 배포한다. 이 과정을 Github Actions를 활용해 자동 배포를 소개하고자 한다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 들어가기에 앞서 배포 방법은 다음과 같다. React 프로젝트의 빌드 결과는 정적 리소스 파일(.html, .js, .css ...)이다. 이를 S3에 올린다. 정적 리소스 파일이기에 S3의 baseURL에 index.html를 연결시켜주면 클라이언트는 baseURL에 들어왔을 때 index.html를 받게 된다. 이때 보통 CSR(클라이언트 사이드 렌더링)로 작동하기에 클라이언트의 브라우저는 S3에 필요한 리소스(. js,. css...)를 요청한다. 마치 nginx가 정적 리소스 전달하는 것처럼 보.. 2022. 6. 14.