docker5 Docker compose를 통한 Nginx, Spring boot, React, Mysql 연동 및 배포 서론 최근 프로젝트에서 도커를 통해 Spring boot와 React 프로젝트를 진행하면서 리버스 프록시 역할을 수행하는 Nginx를 같이 실행해 보았다. 추가로 Mysql까지 실행하며 모든 컨테이너는 Docker compose에 의해 실행될 수 있도록 구현하였다. Spring boot는 비즈니스 로직을 처리하며 Mysql과 연동하여 데이터를 저장, 처리, 조회하는 기능을 담당한다. React는 사용자와 상호작용하는 부분으로 Nginx 서버를 통해 구동되며, Nginx 서버는 사용자 요청을 url에 따라 Spring boot로 보낼지, React로 보낼지 정하는 리버스 프록시 역할을 수행한다. 이 글에서는 docker-compose를 통해 각 서비스를 배포한 과정을 기록한 것이다. 본론 우선 실행을 위한.. 2024. 4. 7. docker compose를 통해 배포해보자(springboot, react, redis) 들어가기 프로젝트를 진행하면서 실제 서비스를 위해 반드시 필요한 과정이 배포이다. 배포하는 과정을 통해 다른 사람들이 서비스에 접근할 수가 있다. 나는 프로젝트를 배포한 경험이 여러 번 있지만 그때마다 aws 인스턴스를 새로 만들어서 사용했었다. 그리고 새 인스턴스마다 환경 설정을 하고 필요한 것들을 설치하고 shell 명령어를 입력하는 등 성가신 과정들을 밟았었다. 그리고 로컬 서버에서 동작하던 것이 배포 서버에서는 동작을 못하는 등 배포 서버에 추가적인 설정을 해줬어야 했다.하지만 도커(docker)를 사용한다면 복잡한 환경설정을 하지 않아도 된다. 미리 만들어 놓은 이미지들을 컨테이너로서 실행하기만 하면 된다. 그리고 도커 컴포즈를 사용하면 다중 컨테이너(다중 서비스)를 하나의 파일로 한번에한 번에.. 2023. 11. 17. Gradle, 도커(docker)를 통한 springboot3 with mysql 배포(docker-compose) build.gradle 에 도커 관련 추가 부분 plugins { id 'java' id 'org.springframework.boot' version '3.2.3' id 'io.spring.dependency-management' version '1.1.4' id 'com.palantir.docker' version '0.35.0' } ... docker { println(tasks.bootJar.outputs.files) name rootProject.name + ":" + version dockerfile file('Dockerfile') files tasks.bootJar.outputs.files buildArgs(['JAR_FILE': tasks.bootJar.outputs.files.singl.. 2023. 5. 7. Jenkins를 활용한 React, Springboot CI,CD 구현(2) 들어가기 이 글은 Jenkins를 활용하여 React, Sprongboot를 배포하는 CI, CD를 구현하는 과정을 작성한 글이며, CD에 중점을 두어 작성하였다. 이전 내용은 아래의 주소를 참고하길 바란다. https://khdscor.tistory.com/67 aws jenkins(docker)를 활용한 react, springboot CI,CD 구현(1) 팀 프로젝트를 진행하다가 개발회사에 다니시는 분께서 개발 회사에서는 본격적으로 개발하기 전에 테스트 서버라는 것을 만들어서 디자이너, 기획 등 다같이 프로젝트 현황을 볼 수 있도록 한 khdscor.tistory.com Jenkins를 통한 CD 1. Jenkins 설정 이전 글까지 자동 빌드를 구현하였다. 이제 남은 것은 자동 배포이다. reac.. 2023. 1. 21. Jenkins를 활용한 React, Springboot CI,CD 구현(1) 들어가기 팀 프로젝트를 진행하다가 개발회사에 다니시는 분으로부터 들은 얘기가 있다. 회사에서는 본격적으로 개발하기 전에 테스트 서버라는 것을 만들어서 디자이너, 기획 등 다같이 프로젝트 현황을 볼 수 있도록 한다고 하셨다. 확실히 다른 사람들도 모두 개발 현황을 볼 수 있어야 한다고 생각을 하기에 앞으로는 차후를 위해 프로젝트마다 테스트 서버를 항상 구현할 생각이다. 그리고 이를 위해서는 CI,CD 가 이뤄져있어야 편하게 진행을 할 수 있다고 생각한다. 이 글은 인터넷을 찾아보며 CI,CD 구현을 하고 내 생각에 맞춰 작성한 글이다. CI, CD에 대한 개념이 궁금하다면 https://seosh817.tistory.com/104 를 참고하길 바란다. [CI/CD] CI/CD란? - 지속적 통합(Conti.. 2023. 1. 18. 이전 1 다음