본문 바로가기
BackEnd/Project

[RealPJ] Ch04. build.gradle에서 주의할 점

by 개발 Blog 2024. 9. 1.

공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.

이번 시간에는 plain.jar가 생성되지 않도록 build.gradle을 수정했다.

 

1. plain.jar 파일 생성 방지 설정

build.gradle 파일에 다음 코드를 추가했다.

/*
'-plain.jar' 파일은 'jar' 파일과는 다르게
'dependencies'를 제외한 [classes / resources]만을 포함하고 있어
`java -jar` 옵션으로 jar 파일을 실행시킬 수 없다.
 */
jar {
    enabled = false
}

  • 이를 통해 plain.jar 파일 생성이 방지되고, 정상적인 jar 파일만 생성되는 것을 확인할 수 있었다.

2. 코드 푸시 및 서버 동작 확인

수정된 build.gradle 파일을 푸시한 후, 서버에서 어떻게 동작하는지 확인해 보았다.

  • 정상적으로 8080 포트에서 서버가 실행 중인 것을 확인할 수 있었다.
  • error.log 파일을 확인한 결과, 오류가 발생하지 않았음을 알 수 있다.

간단한 컨트롤러 작성 및 테스트

추가로, 아래와 같은 간단한 컨트롤러를 작성한 후 푸시 후 서버에서 정상적으로 애플리케이션이 배포 및 실행 되는지 확인한다.

package dev.be.githubaction.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @GetMapping("/demo")
    public String demo() {
        return "demo";
    }
}

 

서버 로그 및 배포 상태 확인

  • 서버 로그를 통해 어플리케이션이 정상적으로 실행되고 있음을 확인했다.
  • curl localhost:8080/demo 명령어를 통해 "demo"라는 응답을 받는 것을 확인하여, 실제 서버에서 어플리케이션이 정상적으로 작동하고 있음을 확인했다.

CI/CD 파이프라인 구축의 중요성

이로써, AWS의 다양한 서비스와 GitHub Actions를 이용해 CI/CD 파이프라인을 완성하였다.

이렇게 한 번 구축한 인프라를 바탕으로, 향후 다른 프로젝트에서도 API 개발에만 집중할 수 있게 되었다.

실제 회사에서는 GitHub Actions뿐만 아니라 Jenkins, GitLab 등의 도구를 이용해 CI/CD를 구축하는 경우도 많다.

이번 작업을 통해 특히 build.gradle에서 jar { enabled = false }와 같은 설정이 어떤 의미를 가지는지, 그것이 배포 프로세스에 어떤 영향을 미치는지 깊이 이해하는 계기가 되었다.

이번 작업을 통해, 더 복잡한 프로젝트에서도 안정적이고 효율적인 배포 환경을 구축할 수 있는 기반을 마련했다. CI/CD 파이프라인을 한 번 완성해 놓으면, 이후에는 코드 작성과 API 개발에만 집중할 수 있어 개발 효율이 크게 향상될 것이다.