- TIL -
구현목표)
프로젝트를 빌드하여 GCP 서버에 배포하자!
구현과정)
1. 프로젝트를 빌드한다!
IntelliJ 를 사용하므로 IntelliJ 내에서 편하게 빌드할 수 있는 방법으로 빌드를 구현하였다.
프로젝트 디렉토리에 접근하여 ./gradlew build 명령어로도 빌드가 가능하다.
- IntelliJ 로 빌드하기 -
![](https://blog.kakaocdn.net/dn/wmtXq/btsKNvAFUmY/T1ok9IZYLD7dWQ7OZ7rk71/img.png)
1) 우측의 Gradle 버튼 클릭
2) 프로젝트 하위의 build 하위의 build 클릭
( 만약, 빌드 실패 시 아래 clean 을 클릭하여 이전 빌드 정보를 지운 뒤 다시 시도하거나 빌드 오류를 파악하여 해결해야 함 )
( 나는 DB 연결설정 때문에 오류가 발생하여 해결한 뒤 빌드를 성공하였음, 빌드 오류시 html 파일로 친절하게 오류 내용을 알려줌 )
3) 빌드 성공시 좌측 하단에 빌드 여부가 초록색 체크표시로 표시됨
4) 빌드된 파일은 프로젝트 내부의 build 디렉토리 하위 libs 디렉토리 하위에 저장된다.
( main-0.0.1-SNAPSHOT.jar 가 빌드된 파일 )
2. 빌드된 프로젝트 파일을 GCP 서버에 SSH 를 사용하여 전송한다!
GCP 에서는 웹으로 SSH 접속을 쉽게 할 수 있도록 지원한다.
1) GCP 에서 웹을 통해 SSH 접속
![](https://blog.kakaocdn.net/dn/wo0f4/btsKM2Z4khC/YKN2YeHdywXE8gi8eQAcdk/img.png)
2) SSH 를 통해 서버에 빌드된 jar 파일을 전송
( 파일 업로드를 클릭하여 파일을 GCP 의 서버로 전송 )
![](https://blog.kakaocdn.net/dn/cGg7CP/btsKMLxrwLw/ruI2ulPjHeCTZW7QaYlxj1/img.png)
3) 업로드된 파일을 프로젝트 디렉토리로 이동시키자!
![](https://blog.kakaocdn.net/dn/bqCfl5/btsKNTBiGr1/JfxnKFWEawrD6wr4Mzy9Fk/img.png)
![](https://blog.kakaocdn.net/dn/sk6fJ/btsKMNWkABs/xgNJraFcZHy8AUcMyLFrm0/img.png)
3. 빌드된 프로젝트를 실행시킨다!
![](https://blog.kakaocdn.net/dn/bxngz1/btsKL5QQr4C/OjL6LLdURTpX6sfcfUlXq0/img.png)
4. 정상적으로 빌드되었는지 테스트 진행!
테스트는 포스트맨으로 진행하였다.
![](https://blog.kakaocdn.net/dn/E6U4q/btsKNtKD9Yw/RIwWB5uKINDsH8SL66Ehx0/img.png)
( 409 Conflict 코드가 출력된 이유는 이미 동일한 요청을 스크린샷 찍기 전에 한번 보냈기 때문! )
해결해야 할 사항)
1) 구현하는 동안 추가적으로 진행해야할 사항은 우선 SSL 인증이 되어있지 않으므로 https 요청을 처리하지 못하는 문제점이 발생한 것이다.
위 문제점은 SSL 을 무료로 인증받는 방법을 사용하거나 다른 방안을 탐색할 것이다.
2) Nginx 의 리버스 프록시 기능을 사용하여 프론트도 동일한 서버에 배포를 진행해보고자 한다.
3) 도메인을 연결해보자.
이후 글에서는 위의 세가지를 처리해볼 것이다!
'TIL' 카테고리의 다른 글
[TIL] 2024.12.06 - 프로젝트 배포하기1 ( Docker Compose 를 사용하여 Spring, React 프로젝트 배포 ) (1) | 2024.12.06 |
---|---|
[TIL] 2024.11.21 - GCP 를 활용하여 Spring Boot 프로젝트를 배포해보기3 - 문제 발생 (3) | 2024.11.21 |
[TIL] 2024.11.18 - jsp 를 활용하여 이메일 인증 코드 발송하기 (2) | 2024.11.18 |
[TIL] 2024.11.17 - GCP 를 활용하여 Spring Boot 프로젝트를 배포해보기1 (1) | 2024.11.17 |
[TIL] 2024.10.17 - Security 의 검증 값을 기준으로 User 의 정보 가져오기 (0) | 2024.10.17 |