본문 바로가기

전체 글

(125)
[번외] 도커 컴포즈로 스프링부트 앱을 배포해보자 소프트웨어 공학 수업 프로젝트의 일환으로 내가 만든 스프링부트 앱을 다른 사람이 돌려야 했다. 스프링부트로 만든 앱을 배포하는 방법은 jar로 의존 라이브러리들을 한 번에 묶어서 간편하게 배포할 순 있지만... 몇 가지 고려해야할 점들이 있었다. 1. 자바 버전을 맞춰줘야 한다. 내가 사용하는 버전은 11이었다. 2. DB 설정을 맞춰줘야 한다. DB 이름이며, 비밀번호까지 그런데 프론트 개발자 입장에선 자바 개발을 할 것도 아닌데 굳이 설치할 이유가 없었다. 그래서 이번에 컨테이너 스터디에서 배운 도커를 사용하여 개발 환경을 셋팅해보기로 했다! 이 글은 도커에 대한 기본 개념은 알고 있다는 가정 하에 작성하였다. 내가 배포하기 위해 고려한 점들은 다음과 같다. 1. 프론트 개발자 입장에서 별도의 셋팅을..
소프트웨어 공학 쇼핑몰 만들기 소프트웨어 공학 수업의 과제로 웹 쇼핑몰을 만드는 과제가 주어졌는데, 나의 경우 스프링부트와 JPA를 사용하여 백엔드단 서버를 만들고자 했다. 그런데, 단순히 뚝딱 만들어내는게 아니라 고려해야할 점이 생각보다 많았다.. 개선할 사항을 적어내려 가면서 코드가 어떻게 바뀌어 가는지, 왜 그렇게 바꾸었는지를 확인하고자 한다. 1. 테스트 - 학교 과제나 토이 프로젝트를 할 때는 테스트 코드를 따로 작성하지 않았는데, 최근 인프런을 보면서 공부하는 중에 테스트 코드를 자주 작성하여 검증하는걸 볼 수 있었다. 테스트의 장점은 인터넷에 찾아보면 널리고 널렸지만, 정작 꼼꼼하게 작성하는 사람들은 몇 없을 거라고 생각하여 크게 와닿지는 않았지만 스프링 환경에서 테스트를 지원하는 방식이 다양하고 케이스별로 자세하게 돌릴..
쿠버네티스 이론 및 실습 쿠버네티스에는 셀 수도 없을 만큼 많은 리소스 종류와 컴포넌트가 존재하는데, 컨테이너 애플리케이션을 구동하기 위해 반드시 알아야 할 몇 가지 오브젝트가 존재한다. 쿠버네티스는 리소스 오브젝트들을 대부분 YAML 파일에 작성된 내용으로 관리한다. 1. 포드 (Pod) : 컨테이너를 다루는 기본 단위 1개 이상의 컨테이너로 구성된 컨테이너의 집합이다. 포드(pod) vs 컨테이너 기능들만 놓고 본다면, 포드는 docker run으로 생성한 컨테이너와 크게 다르지 않다. 컨테이너 ip 주소를 갖고 있어 쿠버네티스 클러스터 내부에서 접근할 수 있고, kubectl exec 명령어로 컨테이너 내부로 들어갈 수 있으며, kubectl logs 명령어로 포드의 로그를 확인할 수도 있다. 쿠버네티스가 포드를 사용하는 ..