백엔드/뎁스스터디

6- ci/cd (2)

넌 감동란이었어 2024. 6. 25. 16:03

수동으로 배포해보자

 

ec2 인스턴스를 생성하고 Spring Boot 서버를 띄어보는 것 까지 진행한다.

 

인스턴스 생성하고 보안그룹 설정하는건 이 블로그를 참고하였다.

 

https://bcp0109.tistory.com/356

 

AWS 1편: EC2 생성 후 Spring Boot 띄우기

Overview AWS EC2 인스턴스를 생성하고 Spring Boot 서버를 띄워보는 것까지 진행합니다. 주 목표는 서버를 외부에 제공하는 거라서 따로 배포 시스템을 구축하지 않고 단순히 빌드 파일을 복사해서 수

bcp0109.tistory.com

그 다음

 

jar 파일을 생성하자

 

./gradlew build

명령어를 입력하면

프로젝트 파일위치에서 build/lib폴더에 jar파일이 생성된다

 

 

이제 그 파일을 ec2서버에 올려보자

 

scp -i (key 위치) (전송할 파일) (호스트명:저장할 위치)

ex)

scp -i ./my-key.pem ./build/libs/cicd-0.0.1-SNAPSHOT.jar ubuntu@(비밀):/home/ubuntu

 

이런식으로 하면 된다

그러면 이런화면이 뜨면서 

ec2서버에 jar파일이 전송이된다

이제 jar파일을 실행해보자

 

nohup java -jar (jar파일위치) &

jar 파일 실행명령어이다

ex)

nohup java -jar cicd-0.0.1-SNAPSHOT.jar &

 

참고로 nohup은 무중단 배포를 뜻한다.

nohub과 &를 안쓰고 터미널을 닫아버리면 서버가 끝나버린다.

하지만 nohub과 &를 사용한다면 무중단 배포로 터미널을 닫아도 서버가 실행된다.

 

잘 실행되는것을 볼 수 있다.

 

그럼 서버를 닫고싶으면 어떻게 할까??

사진과 같이 밑에 PID 번호가 뜬다.

 

 

1. PID를 알고있다면

sudo kill -9 {PID}

명령어를 이용하여 프로세스를 중단시키면 되고,

 

2. PID를 잊어버렸다면

ps -ef | grep {실행시켰던 파일이름}

라고 한다

 

하지만 수정내용이 생길때마다 jar파일을 다시만들고 ec2서버에 올리고 jar파일을 실행시키고 해야하는 번거로움이 있다.

 

이걸 자동으로 해주는게 github action 과 같은 tool인데 이건 다음시간에 알아보기로 하자.

 

'백엔드 > 뎁스스터디' 카테고리의 다른 글

6- ci/cd (1)  (0) 2024.06.18
5- 동시성 처리 (2)  (1) 2024.05.28
5- 동시성 처리 (1)  (0) 2024.05.20
4- 스프링 시큐리티 + jwt(2)  (0) 2024.05.13
3- 스프링 시큐리티 + jwt (1)  (0) 2024.05.07