백엔드 개발자로 진로를 정하고 나서, 항상 서비스를 처음(프로젝트 생성)부터 끝(자동 배포)까지 전체적인 흐름에 대해서 공부를 해야겠다고 생각을 했습니다.
마침 따라하기 좋은 자료를 발견하여, 이를 따라하면서 자동 배포를 적용한 웹 서비스를 개발해보았습니다.
개발 과정에서 획득한 지식과 부딪힌 에러 및 해결 방법에 관해서 순서대로 정리해보겠습니다.
개발 기간
git-hub 주소
프로젝트 구조
개발 환경
Spring Initializr : Spring 에서 제공하는 웹사이트를 통하여 Spring 프로젝트를 생성할 수 있는 방법입니다.
프로젝트 구조
Project Metadata
Dependencies
- Actuator : 스프링 부트 애플리케이션의 모니터링이나 매트릭(metric)과 같은 기능을 HTTP와 JMX 엔드포인트를 통해 제공한다.
- Lombok : 자바 라이브러리로 반복되는 getter, setter, toString .. 등의 반복 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리입니다.
- H2 Database : 자바 기반의 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
스프링 부트가 지원하는 인메모리 형태의 데이터베이스 입니다.
이후 자동 생성된 spring-webservice 패키지 명을 webservice로 변경합니다.
간단한 REST API 호출 컨트롤러를 생성하여 테스트 해봅니다.
@RestController
public class WebRestController {
@GetMapping("/hello")
public String hello() {
return "HelloWorld";
}
}
Spring 프로젝트를 실행하여 localhost:8080/hello에 접속하면 아래와 같은 페이지를 볼 수 있습니다.
git init
명령어를 통해서, git 초기화repository 연결
git remote add origin 'git repository 주소'
git pull origin main
git add .
git commit -m "first commit"