🏕️상황
원래는 7월에는 배포를 진행할 예정이었는데, 여차저차 미뤄지게 되었다.
그래서 한이음 팀장님이 더 이상 미뤄지면 안 될 거 같다고 얘기하기도 했고, 나의 경험 측면에서도 하루빨리 서버 배포를 해보는 것이 도움이 될 거 같다는 생각에 당장 배포를 제1의 목표로 가지게 되었다.
하지만 맨날 로컬 환경에서 기능 개발이나 해봤지.. 이쪽 aws, 서버 세계는 이번이 완전 처음이라 두려움이 앞섰다.
- 멘토분과 멘토링을 통해 서버 배포 진행 :
- 장점
1. 내가 편하다.
2. 몰라서 헤매는 과정 없이 빠르게 배포를 할 수 있다.
-단점
1. 내 실력 향상엔 내가 직접 하는 것보단 좋지 않다.
2. 그 과정을 내가 직접 하지 않았기 때문에 추후 유지/보수에 오히려 어려움이 생길 수 있다.
3. 멘토님과 진행 과정에서 중간에 오류가 발생하면 멘토분의 시간을 많이 뺏게 되고, 결국 멘토링 시간의 부족으 로 또 서버 배포가 늦어질 수 있다. - 내가 스스로 서버 배포 진행 :
- 장점
1. 실력 향상에 훨씬 좋다. 🔜 가장 중요한 부분ㅎㅎ
- 단점
1. 내가 모르는 부분이 많기 때문에 헤매다가 배포가 늦어질 수 있다.
2. 혹시라도 aws쪽을 잘못 건드리기라도 했다가 문제가 생길 수도 있다.
멘토님께 "스스로 욕심은 나지만 걱정되는 사안이 많다"라고 말씀드리니 이미 EC2 인스턴스는 생성된 상태라서 이후 작업은 내가 시도해 봐도 좋을 거 같다고 말씀하셨다. 그래서 내가 하기로 마음먹었다!!!
🗝️과정/해결
멘토분께서 [jar파일로 빌드한 후에 서버에 올려서 테스트]를 먼저 해보라고 하셔서 처음으로 jar 파일로 빌드를 해보았다.
1. cd C:\23_HF319
cmd에서 프로젝트가 있는 경로로 이동한다.
2. gradlew build
Gradle 빌드 도구를 사용하여 프로젝트를 빌드하는 명령어
3. cd build/libs
현재 작업 디렉토리를 프로젝트의 build/libs 디렉토리로 변경하는 명령어
4. java -jar highway-spring-0.0.1-SNAPSHOT.jar
libs 내에 생성된 jar파일을 실행하는 명령어
[java -jar 'jar파일명'] 이 기본 명령어이고, jar 파일명은 해당 프로젝트 내에 libs 폴더에 들어가서 확인할 수 있다.
💘후기
- 이 작업을 하다가 내가 작성한 코드 중에 희한하게 작성한 메서드를 발견했고, 이 참에 그 부분도 수정할 수 있었다.
- 중간에 별의별 오류가 생겨서 2시간은 쓴 거 같다...ㅎ
- jar파일로 빌드를 해본 건 완전 처음이라 뿌듯했다!!
💚jar파일로 빌드하는 것에 대하여...
IDE에서 빌드하는 경우:
- IDE는 프로젝트의 소스 코드, 리소스 파일 등을 컴파일하고 패키징하여 실행 가능한 애플리케이션 또는 라이브러리를 생성합니다.
- IDE는 프로젝트 설정을 기반으로 빌드를 수행하며, 사용자가 IDE에서 제공하는 GUI 인터페이스를 통해 빌드 옵션을 구성할 수 있습니다.
JAR 파일로 빌드하는 경우:
- 명령줄 도구나 빌드 자동화 도구를 사용하여 프로젝트를 빌드합니다. 이는 주로 CI/CD 파이프라인에서 자동화된 빌드를 수행하는 데 사용됩니다.
- 빌드 스크립트를 사용하여 빌드 프로세스를 정의하고 관리합니다. 이 스크립트는 프로젝트 의존성, 빌드 옵션, 패키징 방법 등을 정의합니다.
- JAR 파일로 빌드하는 경우, 빌드된 애플리케이션은 JAR 파일 형식으로 패키징 되며, Java 클래스 파일과 리소스를 포함하고 실행 가능한 형태로 저장됩니다.
JAR 파일로 빌드하는 경우 장점 :
- 독립성: JAR 파일은 애플리케이션과 필요한 라이브러리 및 리소스를 하나의 파일로 패키징하므로, 애플리케이션을 다른 환경에서도 실행할 수 있습니다.
- 배포와 공유: JAR 파일은 다른 사람과 애플리케이션을 공유하거나 배포하는 데 편리합니다. 라이브러리나 애플리케이션을 다른 프로젝트에서 사용할 수 있습니다.
- 자동화: 빌드 스크립트를 사용하면 빌드 프로세스를 자동화하고 CI/CD 파이프라인에서 통합할 수 있습니다.
- 효율성: 빌드 스크립트를 사용하여 커스텀 빌드 과정을 정의하고 원하는 대로 컴파일러 플래그, 리소스 경로 등을 설정할 수 있습니다.
'개발일지 > 2023_한이음' 카테고리의 다른 글
[spring boot] 게시판(이미지 처리) Create, Read 기능 구현 (0) | 2023.08.05 |
---|---|
🤦🏻♀️고민하기 - entity 클래스_관련은 있지만 저장되지 않는 컬럼을 어떻게 처리해야 하나? (0) | 2023.08.04 |
list null(empty)체크하기 (0) | 2023.08.02 |
[Spring boot] s3 이미지 업로드 구현(완성) (0) | 2023.08.01 |
🤦🏻♀️고민하기 - 어떤 Join 메소드를 사용해야 할까? (0) | 2023.08.01 |