수동으로 배포해보자
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 |