ec2 에서 배포하기 1탄
원격에 있는 서버에 배포하려면 어떤 순서로 진행되어야할까?
1. git 에서 코드를 내려받아야 한다 git pull
2. 빌드를 해야한다 (=jar파일을 만들어내야한다) mvn package
3. 만들어진 jar 파일을 복사해서 이동시켜줘야한다
4. 기존에 떠있던 프로세스를 죽여야한다.
1. 기존에 떠있던 프로세스는 어떻게 확인할까?
5. 빌드한 jar를 실행시킨다. 단, 터미널 접속을 끊더라도 해당 프로세스는 살아있어야한다.(nohup)
- git 에서 코드를 내려받아야 한다
$ git pull
- 빌드를 해야한다 (= jar파일을 만들어내야한다) 나는 메이븐을 사용하기에 책에서 나온 gradlew build 대신에 mvn package 을 한다
$ mvn package
- 만들어진 jar 파일을 복사한다 ```console $ cd target/ $ ll 합계 45292 drwxrwxr-x 5 ec2-user ec2-user 4096 3월 5 22:38 classes -rw-rw-r– 1 ec2-user ec2-user 46311283 3월 9 15:38 fl-springboot-0.0.1-SNAPSHOT.jar
$ cp ./build/libs/*.jar /home/ec2-user/app/git/
4. 기존에 떠있던 프로세스를 죽여야한다.
```console
$ kill -15 {PID 번호}
- 기존에 떠있던 프로세스는 어떻게 확인할까?
ps -ef | grep java
- 기존 jar 파일이 있는지 확인
$ ls -tr /home/ec2-user/app/git | grep *.jar | tail -n 1
터미널이 종료되도 실행을 멈추지않고 동작하게끔
nohup java -jar {jar 이름}
다음글 : ec2에서 배포하기 2탄